145 for(
int m=0; m<
pt_str[point_number]->
size; m++){
150 delete[]
pt_str[point_number];
152 pt_str[point_number] = temp;
155 if(
pt_str[point_number]->size > var)
165 if(
pt_str[point_number]->size > var)
197 std::vector<int> ret;
206 long double largest = -std::numeric_limits<long double>::infinity();
209 if(
pt_str[
i]->vals[dim] > largest)
217 long double smallest = std::numeric_limits<long double>::infinity();
220 if(
pt_str[
i]->vals[dim] < smallest)
228 for(
int set_num = 0; set_num < points_vector.size(); set_num++){
229 if(points_vector[set_num] != NULL){
230 delete points_vector[set_num];
234 points_vector.erase(points_vector.begin(), points_vector.end());
238 for(
int set_num = 0; set_num < points_vector.size(); set_num++){
239 if(points_vector[set_num] == NULL)
295 long double low_dist = std::numeric_limits<long double>::infinity();
308 long double distance =
dist(coord, d_calc, num_indep_vars);
310 if( distance < low_dist ){
325 point_num = point_num - 1;
346 std::vector<int> ret;
350 point_num = point_num - 1;
437 return *(
pt_str[ index_loc ]);
446 long double low_dist = std::numeric_limits<long double>::infinity();
459 long double distance =
dist(coord, d_calc, num_indep_vars);
461 if( distance < low_dist ){
476 std::vector<int> ret;
479 for(
int i=0;
i<coords.size();
i++){
480 std::vector<int> loc;
483 for(
int j=0;
j<coords.size();
j++){
485 loc.push_back(coords[
j] + 1);
487 loc.push_back(coords[
j]);
492 loc.erase(loc.begin(), loc.end());
495 for(
int j=0;
j<coords.size();
j++){
497 loc.push_back(coords[
j] - 1);
499 loc.push_back(coords[
j]);
506 ret.push_back(ptdown);
543 this->index_layout.erase(this->index_layout.begin(), this->index_layout.end());
545 for(
int i=0;
i<index_layout.size();
i++){
546 this->index_layout.push_back(index_layout[
i]);
indexed_points & operator=(const indexed_points &ip)
virtual std::vector< int > get_connected_points(int point_num)
virtual std::vector< int > get_connected_points(int point_num)
long double largest_val(int dim)
std::vector< int > index_layout
std::vector< int > translate_index_to_coords(int index)
Translate index to coordinates.
void set_num_indep_vars(int indep_vars)
virtual connect_points * clone()
virtual indexed_points * clone()
int coord[NPANE][NROW *NCOL][3]
virtual manual_index_pts * clone()
void set_index(int point_num, std::vector< int > loc)
long double smallest_val(int dim)
manual_index_pts & operator=(const manual_index_pts &mip)
virtual std::vector< int > get_dim()
void set_point_val(int point_number, int var, long double val)
Point object that represents a single point.
void set_num_points(int n)
virtual std::vector< int > get_connected_points(int point_num)
std::vector< int > points
pnt get_indexed_point(std::vector< int > loc)
virtual ~indexed_points()
int translate_coord_to_index(std::vector< int > vals)
Translate coordinates to the flat index actually used for storage.
void setValue(std::vector< int > rLoc, int rVal)
Set the value at the given coordinates.
virtual ~connect_points()
void set_connectivity(int point_num, int c_point)
static void delete_all(std::vector< points * > points_vector)
connect_points & operator=(const connect_points &cp)
VariableDimensionArray index
void set_layout(std::vector< int > index_layout)
static bool contains_null(std::vector< points * > points_vector)
virtual int get_closest(long double *coord)
void clear_dep_vars(int point_number)
virtual int get_closest(long double *coord)
long double dist(long double *coord1, long double *coord2, int size)
int getValue(std::vector< int > rLoc)
Get the value specified by the loc coordinates.
void initArray(std::vector< int > dim_sizes)
Initialize the array with the specified dimensions.
virtual int get_closest(long double *coord)
points & operator=(const points &p)