1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/***********************************************/
/**
* @file gridSinglePointCartesian.h
*
* @brief Single point.
* @see Grid
* single point.
*
* @author Torsten Mayer-Guerr
* @date 2014-09-25
*
*/
/***********************************************/
#ifndef __GROOPS_GRIDSINGLEPOINTCARTESIAN__
#define __GROOPS_GRIDSINGLEPOINTCARTESIAN__
// Latex documentation
#ifdef DOCSTRING_Grid
static const char *docstringGridSinglePointCartesian = R"(
\subsection{SinglePointCartesian}
Creates one single point.
)";
#endif
/***********************************************/
#include "base/import.h"
#include "config/config.h"
#include "classes/grid/grid.h"
/***** CLASS ***********************************/
/** @brief Single point.
* @ingroup gridGroup
* @see Grid */
class GridSinglePointCartesian : public GridBase
{
public:
GridSinglePointCartesian(Config &config);
};
/***********************************************/
inline GridSinglePointCartesian::GridSinglePointCartesian(Config &config)
{
try
{
Double x, y, z, area = NAN_EXPR;
readConfig(config, "x", x, Config::MUSTSET, "", "[m]");
readConfig(config, "y", y, Config::MUSTSET, "", "[m]");
readConfig(config, "z", z, Config::MUSTSET, "", "[m]");
readConfig(config, "area", area, Config::OPTIONAL, "", "associated area element on unit sphere");
if(isCreateSchema(config)) return;
points.push_back(Vector3d(x,y,z));
if(!std::isnan(area))
areas.push_back(area);
}
catch(std::exception &e)
{
GROOPS_RETHROW(e)
}
}
/***********************************************/
#endif /* __GROOPS__ */
|