Renaming
This commit is contained in:
70
src/Mesh.cpp
70
src/Mesh.cpp
@@ -2,12 +2,12 @@
|
||||
#include <iostream>
|
||||
#include <Object.hpp>
|
||||
|
||||
Mesh::Mesh(Object& obj, double step) : _obj(obj), _step(step) {
|
||||
Mesh::Mesh(Object& _obj, double _step) : obj(_obj), step(_step) {
|
||||
|
||||
for (double y = 0.0; y <= _obj.Height(); y += _step) {
|
||||
_mesh.push_back(std::vector<Node*>());
|
||||
mesh.push_back(std::vector<Node*>());
|
||||
for (double x = 0.0; x <= _obj.Width(); x += _step) {
|
||||
_mesh.back().push_back(new Node(x, y));
|
||||
mesh.back().push_back(new Node(x, y));
|
||||
}
|
||||
}
|
||||
LinkX();
|
||||
@@ -17,34 +17,34 @@ Mesh::Mesh(Object& obj, double step) : _obj(obj), _step(step) {
|
||||
|
||||
void Mesh::LinkX() {
|
||||
|
||||
for (int i = 0; i < _mesh.size(); i++) {
|
||||
_mesh[i][0]->LinkX(nullptr, _mesh[i][1]);
|
||||
for (int j = 1; j < _mesh[i].size() - 1; j++)
|
||||
_mesh[i][j]->LinkX(_mesh[i][j - 1], _mesh[i][j + 1]);
|
||||
_mesh[i].back()->LinkX(_mesh[i][_mesh[i].size() - 2], nullptr);
|
||||
for (int i = 0; i < mesh.size(); i++) {
|
||||
mesh[i][0]->LinkX(nullptr, mesh[i][1]);
|
||||
for (int j = 1; j < mesh[i].size() - 1; j++)
|
||||
mesh[i][j]->LinkX(mesh[i][j - 1], mesh[i][j + 1]);
|
||||
mesh[i].back()->LinkX(mesh[i][mesh[i].size() - 2], nullptr);
|
||||
}
|
||||
for (int i = 0; i < _mesh.size(); i++)
|
||||
_hlines.push_back(_mesh[i][0]);
|
||||
for (int i = 0; i < mesh.size(); i++)
|
||||
hlines.push_back(mesh[i][0]);
|
||||
}
|
||||
|
||||
|
||||
void Mesh::LinkY() {
|
||||
for (int j = 0; j < _mesh[0].size(); j++) {
|
||||
_mesh[0][j]->LinkY(nullptr, _mesh[1][j]);
|
||||
for (int i = 1; i < _mesh.size() - 1; i++)
|
||||
_mesh[i][j]->LinkY(_mesh[i - 1][j], _mesh[i + 1][j]);
|
||||
_mesh[_mesh.size() - 1][j]->LinkY(_mesh[_mesh.size() - 2][j], nullptr);
|
||||
for (int j = 0; j < mesh[0].size(); j++) {
|
||||
mesh[0][j]->LinkY(nullptr, mesh[1][j]);
|
||||
for (int i = 1; i < mesh.size() - 1; i++)
|
||||
mesh[i][j]->LinkY(mesh[i - 1][j], mesh[i + 1][j]);
|
||||
mesh[mesh.size() - 1][j]->LinkY(mesh[mesh.size() - 2][j], nullptr);
|
||||
}
|
||||
for (int i = 0; i < _mesh[0].size(); i++)
|
||||
_vlines.push_back(_mesh[0][i]);
|
||||
for (int i = 0; i < mesh[0].size(); i++)
|
||||
vlines.push_back(mesh[0][i]);
|
||||
}
|
||||
|
||||
|
||||
void Mesh::Adapt() {
|
||||
for (int i = 0; i < _mesh.size(); i++) {
|
||||
int s = _mesh[i].size();
|
||||
for (int i = 0; i < mesh.size(); i++) {
|
||||
int s = mesh[i].size();
|
||||
for (int j = 0; j < s; j++) {
|
||||
if (!_obj.Inhere(_mesh[i][j]->X(), _mesh[i][j]->Y())) {
|
||||
if (!obj.Inhere(mesh[i][j]->X(), mesh[i][j]->Y())) {
|
||||
Delnode(i, j);
|
||||
j--;
|
||||
s--;
|
||||
@@ -54,12 +54,12 @@ void Mesh::Adapt() {
|
||||
}
|
||||
|
||||
void Mesh::Delnode(int i, int j) {
|
||||
Node* node = _mesh[i][j];
|
||||
double bndX1 = _obj.Fillx(node->X(), node->Y()).first;
|
||||
double bndX2 = _obj.Fillx(node->X(), node->Y()).second;
|
||||
double bndY1 = _obj.Filly(node->X(), node->Y()).first;
|
||||
double bndY2 = _obj.Filly(node->X(), node->Y()).second;
|
||||
int btype = _obj.Who(node->X(), node->Y())->GetB();
|
||||
Node* node = mesh[i][j];
|
||||
double bndX1 = obj.Fillx(node->X(), node->Y()).first;
|
||||
double bndX2 = obj.Fillx(node->X(), node->Y()).second;
|
||||
double bndY1 = obj.Filly(node->X(), node->Y()).first;
|
||||
double bndY2 = obj.Filly(node->X(), node->Y()).second;
|
||||
int btype = obj.Who(node->X(), node->Y())->GetB();
|
||||
if (node->l()) {
|
||||
if (node->l()->X() != bndX2 && node->l()->X() != bndX1) {
|
||||
if (bndX1 != bndX2) {
|
||||
@@ -71,8 +71,8 @@ void Mesh::Delnode(int i, int j) {
|
||||
left->LinkX(node->l(), right);
|
||||
right->LinkX(left, node->r());
|
||||
node->l() = right;
|
||||
_mesh[i].push_back(left);
|
||||
_mesh[i].push_back(right);
|
||||
mesh[i].push_back(left);
|
||||
mesh[i].push_back(right);
|
||||
}
|
||||
else {
|
||||
Node* left = new Node(bndX2, node->Y(), btype);
|
||||
@@ -81,7 +81,7 @@ void Mesh::Delnode(int i, int j) {
|
||||
node->r()->l() = left;
|
||||
left->LinkX(node->l(), node->r());
|
||||
node->l() = left;
|
||||
_mesh[i].push_back(left);
|
||||
mesh[i].push_back(left);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -101,8 +101,8 @@ void Mesh::Delnode(int i, int j) {
|
||||
down->LinkY(node->d(), up);
|
||||
up->LinkY(down, node->u());
|
||||
node->d() = up;
|
||||
_mesh[i].push_back(down);
|
||||
_mesh[i].push_back(up);
|
||||
mesh[i].push_back(down);
|
||||
mesh[i].push_back(up);
|
||||
}
|
||||
else {
|
||||
Node* down = new Node(node->X(), bndY2, btype);
|
||||
@@ -111,7 +111,7 @@ void Mesh::Delnode(int i, int j) {
|
||||
node->u()->d() = down;
|
||||
down->LinkY(node->d(), node->u());
|
||||
node->d() = down;
|
||||
_mesh[i].push_back(down);
|
||||
mesh[i].push_back(down);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -120,18 +120,18 @@ void Mesh::Delnode(int i, int j) {
|
||||
if (node->u()) {
|
||||
node->u()->d() = node->d();
|
||||
}
|
||||
_mesh[i].erase(_mesh[i].begin() + j);
|
||||
mesh[i].erase(mesh[i].begin() + j);
|
||||
delete node;
|
||||
}
|
||||
|
||||
Mesh::~Mesh() {
|
||||
for (auto line : _mesh)
|
||||
for (auto line : mesh)
|
||||
for (auto node : line)
|
||||
delete node;
|
||||
}
|
||||
|
||||
//void Mesh::ShowLinks() {
|
||||
// for (auto line : _mesh) {
|
||||
// for (auto line : mesh) {
|
||||
// for (auto node : line) {
|
||||
// if (node->d())
|
||||
// std::cout << "| ";
|
||||
|
||||
Reference in New Issue
Block a user