protected function point()
    {
        if (null !== $this->dimension) {
            return $this->coordinates(2 + strlen($this->dimension));
        }

        $values = $this->coordinates(2);

        for ($i = 3; $i <= 4 && $this->lexer->isNextTokenAny(array(Lexer::T_FLOAT, Lexer::T_INTEGER)); $i++) {
            $values[] = $this->coordinate();
        }

        switch (count($values)) {
            case 2:
                $this->dimension = '';
                break;
            case 3:
                $this->dimension = 'Z';
                break;
            case 4:
                $this->dimension = 'ZM';
                break;
        }

        return $values;
    }
protected function point()
    {
        if (null !== $this->dimension) {
            return $this->coordinates(2 + strlen($this->dimension));
        }

        $values = $this->coordinates(2);

        for ($i = 3; $i <= 4 && $this->lexer->isNextTokenAny(array(Lexer::T_FLOAT, Lexer::T_INTEGER)); $i++) {
            $values[] = $this->coordinate();
        }

        switch (count($values)) {
            case 2:
                $this->dimension = '';
                break;
            case 3:
                $this->dimension = 'Z';
                break;
            case 4:
                $this->dimension = 'ZM';
                break;
        }

        return $values;
    }
protected function point ( ) { if ( null !== $ this -> dimension ) { return $ this -> coordinates ( 2 + strlen ( $ this -> dimension ) ) ; } $ values = $ this -> coordinates ( 2 ) ; for ( $ i = 3 ; $ i <= 4 && $ this -> lexer -> isNextTokenAny ( array ( Lexer :: T_FLOAT , Lexer :: T_INTEGER ) ) ; $ i ++ ) { $ values [ ] = $ this -> coordinate ( ) ; } switch ( count ( $ values ) ) { case 2 : $ this -> dimension = '' ; break ; case 3 : $ this -> dimension = 'Z' ; break ; case 4 : $ this -> dimension = 'ZM' ; break ; } return $ values ; }
Match a coordinate pair

@return array
Match a coordinate pair