double[]zxy;// [3] - plane point {disparity, x, y), x=0, y=0 is a 4,4 point of an 8x8 supertile
boolean[]plane_sel=null;// tile selection - has twice supertile size in each direction
double[]zxy=null;// [3] - plane center point {disparity, x, y), x=0, y=0 is a 4,4 point of an 8x8 supertile (in pixels, relative to this supertile center)
double[][]vectors=null;// [3][3] - re-ordered/re-directed eigenvectors(transposed): [0] - plane normal, most Z-like, towards camera, [1] - X-like, [2] - Y-like
double[][]vectors=null;// [3][3] - re-ordered/re-directed eigenvectors(transposed): [0] - plane normal, most Z-like, towards camera, [1] - X-like, [2] - Y-like
double[]values=null;// [3] -eigenvalues
double[]values=null;// [3] -eigenvalues
intnum_points=0;
intnum_points=0;
doubleweight=0.0;
doubleweight=0.0;
double[]center_xyz=null;// center of this supertile this plane center in world coordinates
double[]world_xyz=null;// world coordinates of the nearest point of the plane, in meters
double[]world_xyz=null;// world coordinates of the nearest point of the plane, in meters
double[]world_v1=null;// world in-plane vector, corresponding to vectors[1]
double[]world_v2=null;// world in-plane vector, corresponding to vectors[1]
double[]daxy=null;// disparity and 2 relative angles (ax and ay) corresponding to fisheye view, near (0,0) scale is pixel size
double[]daxy=null;// disparity and 2 relative angles (ax and ay) corresponding to fisheye view, near (0,0) scale is pixel size
inttileSize;
inttileSize;
intsuperTileSize;
intsuperTileSize;
int[]sTileXY=null;// X and Y indices of this superTile in the image
int[]sTileXY=null;// X and Y indices of this superTile in the image
// double px = tileSize*(superTileSize * sTileXY[0] + superTileSize/2) + zxy[1]; // [3] - plane point {disparity, x, y), x=0, y=0 is a 4,4 point of an 8x8 supertile
returnpd;// make sure pd are updated // "this" is not used. Should it be used instead of pd?
}
publicdouble[]getWorldV12(
booleanv2,// false - first, true - second vector
booleancorrect_distortions)
{
returngetWorldV12(v2,correct_distortions,0);
}
publicdouble[]getWorldV12(
booleanv2,// false - first, true - second vector
booleancorrect_distortions,
intdebugLevel)
{
if(v2){
if(world_v2==null){
getWorldXYZ(
correct_distortions,
debugLevel);
}
returnworld_v2;
}else{
if(world_v1==null){
getWorldXYZ(
correct_distortions,
debugLevel);
}
returnworld_v1;
}
}
publicdouble[]getWorldXYZ(
publicdouble[]getWorldXYZ(
booleancorrect_distortions,
booleancorrect_distortions,
intdebugLevel)
intdebugLevel)
...
@@ -150,18 +397,27 @@ public class TilePlanes {
...
@@ -150,18 +397,27 @@ public class TilePlanes {
if(world_xyz!=null)returnworld_xyz;
if(world_xyz!=null)returnworld_xyz;
setCorrectDistortions(correct_distortions);
setCorrectDistortions(correct_distortions);
// get pixel coordinates of the plane origin point
// get pixel coordinates of the plane origin point
doublepx=tileSize*(superTileSize*sTileXY[0]+superTileSize/2)+zxy[1];// [3] - plane point {disparity, x, y), x=0, y=0 is a 4,4 point of an 8x8 supertile
// double px = tileSize*(superTileSize * sTileXY[0] + superTileSize/2) + zxy[1]; // [3] - plane point {disparity, x, y), x=0, y=0 is a 4,4 point of an 8x8 supertile