3 #ifndef U3D_SVRG_MATH_ABSTRACT_SURFACE_HPP_
4 #define U3D_SVRG_MATH_ABSTRACT_SURFACE_HPP_
6 #include <u3d_point.hpp>
7 #include <u3d_defines.hpp>
8 #include "u3d_abstract_surface.hpp"
9 #include "u3d_nl_eqsolve.hpp"
14 #define S3D_MIN_DELTA_FOR_DIV 1e-10
51 virtual void movePoint(
int ind,
double x,
double y,
double z);
92 std::vector<double>
grd_x, grd_y;
131 double dx,
double &xmn,
double &xmx);
155 U3dPointsAr m_grd_ips;
158 double m_prev_zmn, m_prev_zmx;
171 static bool add_grid_cell(
int ix,
int jy, GridCell &cell,
GridMatrix &rgrid,
172 double &zmn,
double &zmx,
double &pzmn,
double &pzmx,
173 std::vector<double> &xgd, std::vector<double> &ygd,
174 double x,
double y,
bool is_increase_xy =
true);
179 double calc_nip_z(
double x,
double y);
197 double calc(
double z);
212 return ((
ips[i]->getX() - x)*(
ips[i]->getX() - x) +
213 (
ips[i]->getY() - y)*(
ips[i]->getY() - y));
221 return ((
ips[i]->getX() - x)*(
ips[i]->getX() - x) +
222 (
ips[i]->getY() - y)*(
ips[i]->getY() - y) +
223 (
ips[i]->getZ() - z)*(
ips[i]->getZ() - z));
int ip_ind
Definition: u3d_svrg_math_abstract_surface.hpp:103
int getGridYSize()
Definition: u3d_svrg_math_abstract_surface.hpp:67
Definition: u3d_math_abstract_surface.hpp:11
U3dIntEqLeftPart()
Definition: u3d_svrg_math_abstract_surface.hpp:190
virtual bool removePoint(int ind)
U3dPointsAr ips
Definition: u3d_svrg_math_abstract_surface.hpp:230
static int get_ip_id(double x, std::vector< double > &grd_x, double dx, double &xmn, double &xmx)
int getGridPoint(int i, int j, U3dPoint &p)
virtual void addPoint(U3dPoint *point)
void push_ip(U3dPoint *point)
static void correct_id(int &id, int size)
Definition: u3d_svrg_math_abstract_surface.hpp:136
int getGridXSize()
Definition: u3d_svrg_math_abstract_surface.hpp:62
virtual void movePoint(int ind, double x, double y, double z)
double z
Definition: u3d_svrg_math_abstract_surface.hpp:104
Definition: geometry.H:16
GridCell(int i_ind, double i_z)
Definition: u3d_svrg_math_abstract_surface.hpp:98
std::vector< double > grd_x
Definition: u3d_svrg_math_abstract_surface.hpp:92
Definition: u3d_point.hpp:16
double getMinGridStep()
Definition: u3d_svrg_math_abstract_surface.hpp:81
std::vector< GridLine > GridMatrix
Definition: u3d_svrg_math_abstract_surface.hpp:111
double get_2d_ip_dist(int i, double x, double y)
Definition: u3d_svrg_math_abstract_surface.hpp:211
void setMinGridStep(double eps)
Definition: u3d_svrg_math_abstract_surface.hpp:75
std::vector< GridCell > GridLine
Definition: u3d_svrg_math_abstract_surface.hpp:108
Definition: u3d_nl_eqsolve.hpp:47
Definition: u3d_svrg_math_abstract_surf4d.hpp:50
Definition: u3d_nl_eqsolve.hpp:5
void construct_grid(U3dPointsAr &points)
Definition: u3d_svrg_math_abstract_surface.hpp:21
GridMatrix grid
Definition: u3d_svrg_math_abstract_surface.hpp:114
U3dSVRGMathAbstractSurface(U3dPointsAr &points, double g_step)
double get_3d_ip_dist(int i, double x, double y, double z)
Definition: u3d_svrg_math_abstract_surface.hpp:220
bool is_init
Definition: u3d_svrg_math_abstract_surface.hpp:236
double x
Definition: u3d_svrg_math_abstract_surface.hpp:233
Definition: u3d_svrg_math_abstract_surface.hpp:186
void init(U3dPointsAr &pips)
Definition: u3d_svrg_math_abstract_surface.hpp:200
virtual ~U3dIntEqLeftPart()
Definition: u3d_svrg_math_abstract_surface.hpp:194
void setPCoords(double px, double py)
Definition: u3d_svrg_math_abstract_surface.hpp:204
double minGridEps
Definition: u3d_svrg_math_abstract_surface.hpp:89
Definition: u3d_svrg_math_abstract_surface.hpp:95
virtual ~U3dSVRGMathAbstractSurface()