1<?php 2 3namespace geoPHP\Geometry; 4 5/** 6 * A Surface is a 2-dimensional abstract geometric object. 7 * 8 * OGC 06-103r4 6.1.10 specification: 9 * A simple Surface may consists of a single “patch” that is associated with one “exterior boundary” and 0 or more 10 * “interior” boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a 11 * simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the 12 * projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine. 13 * 14 * @package geoPHP\Geometry 15 */ 16abstract class Surface extends Collection 17{ 18 19 public function __construct($components = [], $allowEmptyComponents = true, $allowedComponentType = Curve::class) 20 { 21 parent::__construct($components, $allowEmptyComponents, $allowedComponentType); 22 } 23 24 public function geometryType() 25 { 26 return Geometry::SURFACE; 27 } 28 29 public function dimension() 30 { 31 return 2; 32 } 33 34 public function startPoint() 35 { 36 return null; 37 } 38 39 public function endPoint() 40 { 41 return null; 42 } 43 44 public function pointN($n) 45 { 46 return null; 47 } 48 49 public function isClosed() 50 { 51 return null; 52 } 53 54 public function isRing() 55 { 56 return null; 57 } 58 59 public function length() 60 { 61 return 0; 62 } 63 64 public function length3D() 65 { 66 return 0; 67 } 68 69 public function haversineLength() 70 { 71 return 0; 72 } 73 74 public function greatCircleLength($radius = null) 75 { 76 return 0; 77 } 78 79 public function minimumZ() 80 { 81 return null; 82 } 83 84 public function maximumZ() 85 { 86 return null; 87 } 88 89 public function minimumM() 90 { 91 return null; 92 } 93 94 public function maximumM() 95 { 96 return null; 97 } 98 99 public function elevationGain($verticalTolerance = 0) 100 { 101 return null; 102 } 103 104 public function elevationLoss($verticalTolerance = 0) 105 { 106 return null; 107 } 108 109 public function zDifference() 110 { 111 return null; 112 } 113} 114