createSubnode method

NodeNode createSubnode(
  1. int index
)

Implementation

NodeNode createSubnode(int index) {
  // create a new subquad in the appropriate quadrant

  double minx = 0.0;
  double maxx = 0.0;
  double miny = 0.0;
  double maxy = 0.0;

  switch (index) {
    case 0:
      minx = env!.getMinX();
      maxx = centrex;
      miny = env!.getMinY();
      maxy = centrey;
      break;
    case 1:
      minx = centrex;
      maxx = env!.getMaxX();
      miny = env!.getMinY();
      maxy = centrey;
      break;
    case 2:
      minx = env!.getMinX();
      maxx = centrex;
      miny = centrey;
      maxy = env!.getMaxY();
      break;
    case 3:
      minx = centrex;
      maxx = env!.getMaxX();
      miny = centrey;
      maxy = env!.getMaxY();
      break;
  }
  Envelope sqEnv = new Envelope(minx, maxx, miny, maxy);
  NodeNode node = NodeNode(sqEnv, level - 1);
  return node;
}