many changes :P
This commit is contained in:
@@ -36,15 +36,15 @@ TEST(Grid, BBox) {
|
||||
|
||||
Grid<20, GP> grid;
|
||||
int idx = grid.add(GP(40,40,40));
|
||||
ASSERT_EQ(30, grid.getBBox(idx).x1_cm);
|
||||
ASSERT_EQ(50, grid.getBBox(idx).x2_cm);
|
||||
ASSERT_EQ(30, grid.getBBox(idx).y1_cm);
|
||||
ASSERT_EQ(50, grid.getBBox(idx).y2_cm);
|
||||
ASSERT_EQ(30, grid.getBBox(idx).getMin().x);
|
||||
ASSERT_EQ(50, grid.getBBox(idx).getMax().x);
|
||||
ASSERT_EQ(30, grid.getBBox(idx).getMin().y);
|
||||
ASSERT_EQ(50, grid.getBBox(idx).getMax().y);
|
||||
|
||||
}
|
||||
|
||||
|
||||
TEST(Grid, neighbors) {
|
||||
TEST(Grid, connectBiDir) {
|
||||
|
||||
Grid<1, GP> grid;
|
||||
|
||||
@@ -54,10 +54,10 @@ TEST(Grid, neighbors) {
|
||||
int idx4 = grid.add(GP( 1, 0, 0));
|
||||
int idx5 = grid.add(GP(-1, 0, 0));
|
||||
|
||||
grid.connect(idx1, idx2);
|
||||
grid.connect(idx1, idx3);
|
||||
grid.connect(idx1, idx4);
|
||||
grid.connect(idx1, idx5);
|
||||
grid.connectBiDir(idx1, idx2);
|
||||
grid.connectBiDir(idx1, idx3);
|
||||
grid.connectBiDir(idx1, idx4);
|
||||
grid.connectBiDir(idx1, idx5);
|
||||
|
||||
ASSERT_EQ(4, grid.getNumNeighbors(idx1));
|
||||
ASSERT_EQ(1, grid.getNumNeighbors(idx2));
|
||||
@@ -65,6 +65,54 @@ TEST(Grid, neighbors) {
|
||||
ASSERT_EQ(1, grid.getNumNeighbors(idx4));
|
||||
ASSERT_EQ(1, grid.getNumNeighbors(idx5));
|
||||
|
||||
ASSERT_EQ(grid[idx2], grid.getNeighbor(idx1, 0));
|
||||
ASSERT_EQ(grid[idx3], grid.getNeighbor(idx1, 1));
|
||||
ASSERT_EQ(grid[idx4], grid.getNeighbor(idx1, 2));
|
||||
ASSERT_EQ(grid[idx5], grid.getNeighbor(idx1, 3));
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, disconnectBiDir) {
|
||||
|
||||
Grid<1, GP> grid;
|
||||
|
||||
int idx1 = grid.add(GP( 0, 0, 0));
|
||||
int idx2 = grid.add(GP( 0, 1, 0));
|
||||
int idx3 = grid.add(GP( 0,-1, 0));
|
||||
int idx4 = grid.add(GP( 1, 0, 0));
|
||||
int idx5 = grid.add(GP(-1, 0, 0));
|
||||
|
||||
grid.connectBiDir(idx1, idx2);
|
||||
grid.connectBiDir(idx1, idx3);
|
||||
grid.connectBiDir(idx1, idx4);
|
||||
grid.connectBiDir(idx1, idx5);
|
||||
|
||||
// remove 1 <-> 4
|
||||
grid.disconnectBiDir(idx1, idx4);
|
||||
ASSERT_EQ(3, grid.getNumNeighbors(idx1));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(idx4));
|
||||
ASSERT_EQ(grid[idx2], grid.getNeighbor(idx1, 0));
|
||||
ASSERT_EQ(grid[idx3], grid.getNeighbor(idx1, 1));
|
||||
ASSERT_EQ(grid[idx5], grid.getNeighbor(idx1, 2));
|
||||
|
||||
// remove 1 <-> 5
|
||||
grid.disconnectBiDir(idx1, idx5);
|
||||
ASSERT_EQ(2, grid.getNumNeighbors(idx1));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(idx5));
|
||||
ASSERT_EQ(grid[idx2], grid.getNeighbor(idx1, 0));
|
||||
ASSERT_EQ(grid[idx3], grid.getNeighbor(idx1, 1));
|
||||
|
||||
// remove 1 <-> 2
|
||||
grid.disconnectBiDir(idx1, idx2);
|
||||
ASSERT_EQ(1, grid.getNumNeighbors(idx1));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(idx2));
|
||||
ASSERT_EQ(grid[idx3], grid.getNeighbor(idx1, 0));
|
||||
|
||||
// remove 1 <-> 2
|
||||
grid.disconnectBiDir(idx1, idx3);
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(idx1));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(idx3));
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, uid) {
|
||||
@@ -81,6 +129,87 @@ TEST(Grid, uid) {
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, remove) {
|
||||
|
||||
Grid<1, GP> grid;
|
||||
|
||||
GP gp1( 0, 0, 0);
|
||||
GP gp2( 0, 1, 0);
|
||||
GP gp3( 0,-1, 0);
|
||||
GP gp4( 1, 0, 0);
|
||||
GP gp5(-1, 0, 0);
|
||||
|
||||
int idx1 = grid.add(gp1);
|
||||
int idx2 = grid.add(gp2);
|
||||
int idx3 = grid.add(gp3);
|
||||
int idx4 = grid.add(gp4);
|
||||
int idx5 = grid.add(gp5);
|
||||
|
||||
grid.connectBiDir(idx1, idx2);
|
||||
grid.connectBiDir(idx1, idx3);
|
||||
grid.connectBiDir(idx1, idx4);
|
||||
grid.connectBiDir(idx1, idx5);
|
||||
|
||||
grid.remove(idx1);
|
||||
grid.cleanup();
|
||||
|
||||
ASSERT_EQ(4, grid.getNumNodes());
|
||||
ASSERT_EQ(gp2, grid[0]);
|
||||
ASSERT_EQ(gp3, grid[1]);
|
||||
ASSERT_EQ(gp4, grid[2]);
|
||||
ASSERT_EQ(gp5, grid[3]);
|
||||
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(grid[0]));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(grid[1]));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(grid[2]));
|
||||
ASSERT_EQ(0, grid.getNumNeighbors(grid[3]));
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, neighborIter) {
|
||||
|
||||
Grid<1, GP> grid;
|
||||
|
||||
int idx1 = grid.add(GP( 0, 0, 0));
|
||||
int idx2 = grid.add(GP( 0, 1, 0));
|
||||
int idx3 = grid.add(GP( 0,-1, 0));
|
||||
int idx4 = grid.add(GP( 1, 0, 0));
|
||||
int idx5 = grid.add(GP(-1, 0, 0));
|
||||
|
||||
grid.connectBiDir(idx1, idx2);
|
||||
grid.connectBiDir(idx1, idx3);
|
||||
grid.connectBiDir(idx1, idx4);
|
||||
grid.connectBiDir(idx1, idx5);
|
||||
|
||||
int i = 0;
|
||||
for (GP& node : grid.neighbors(idx1)) {++i;}
|
||||
ASSERT_EQ(4, i);
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, bbox) {
|
||||
|
||||
Grid<1, GP> grid;
|
||||
|
||||
int idx1 = grid.add(GP( 0, 0, 0));
|
||||
int idx2 = grid.add(GP( 0, 1, 0));
|
||||
int idx3 = grid.add(GP( 0,-1, 0));
|
||||
int idx4 = grid.add(GP( 1, 0, 0));
|
||||
int idx5 = grid.add(GP(-1, 0, 0));
|
||||
|
||||
BBox3 bb = grid.getBBox();
|
||||
|
||||
ASSERT_EQ(bb.getMin().x, -1);
|
||||
ASSERT_EQ(bb.getMin().y, -1);
|
||||
ASSERT_EQ(bb.getMin().z, 0);
|
||||
|
||||
ASSERT_EQ(bb.getMax().x, +1);
|
||||
ASSERT_EQ(bb.getMax().y, +1);
|
||||
ASSERT_EQ(bb.getMax().z, 0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
TEST(Grid, nearest) {
|
||||
|
||||
Grid<20, GP> grid;
|
||||
|
||||
Reference in New Issue
Block a user