Exemplo n.º 1
0
 /**
  * Constructor.
  *
  * @param float[][][]|LinearRing[] $linearRings
  * @param CoordinateResolutionSystem|BoundingBox $arg,...
  */
 public function __construct(array $linearRings)
 {
     $this->coordinates = array_map(function ($linearRing) {
         if (!$linearRing instanceof LinearRing) {
             $linearRing = new LinearRing($linearRing);
         }
         return $linearRing->getCoordinates();
     }, $linearRings);
     if (func_num_args() > 1) {
         $this->setOptionalConstructorArgs(array_slice(func_get_args(), 1));
     }
 }
Exemplo n.º 2
0
 /**
  * Constructor.
  *
  * @param float[][][]|LinearRing[] $linearRings
  * @param CoordinateResolutionSystem|BoundingBox $arg,...
  */
 public function __construct(array $linearRings)
 {
     foreach ($linearRings as $linearRing) {
         if (!$linearRing instanceof LinearRing) {
             $linearRing = new LinearRing($linearRing);
         }
         $this->coordinates[] = $linearRing->getCoordinates();
     }
     if (func_num_args() > 1) {
         $this->setOptionalConstructorArgs(array_slice(func_get_args(), 1));
     }
 }
Exemplo n.º 3
0
 public static function from_array($point_sets, $srid = null, $with_z = false, $with_m = false)
 {
     $poly = new self($srid, $with_z, $with_m);
     foreach ($point_sets as $set) {
         $poly->rings[] = LinearRing::from_array($set, $srid, $with_z, $with_m);
     }
     return $poly;
 }
Exemplo n.º 4
0
 function test_LinearRing_addComponent()
 {
     $ring = new LinearRing();
     $point = new Point(0, 0);
     $ring->addComponents($point);
     $this->assertTrue(count($ring->components), 2);
     $this->assertEqual($ring->components[0]->x, $point->x);
     $this->assertEqual($ring->components[0]->y, $point->y);
     $this->assertEqual($ring->components[0]->x, $ring->components[1]->x);
     $this->assertEqual($ring->components[0]->y, $ring->components[1]->y);
     $newPoint = new Point(10, 10);
     $ring->addComponents($newPoint);
     $this->assertTrue(count($ring->components), 3);
     $this->assertEqual($ring->components[1]->x, $newPoint->x);
     $this->assertEqual($ring->components[1]->y, $newPoint->y);
     $this->assertEqual($ring->components[0]->x, $ring->components[2]->x);
     $this->assertEqual($ring->components[0]->y, $ring->components[2]->y);
 }