Completed
Push — master ( d791dd...2d8ee5 )
by Ventaquil
02:14
created

Line3D   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 1
cbo 2
dl 0
loc 18
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A checkPoint() 0 6 2
A countWidth() 0 4 1
A __construct() 0 4 1
1
<?php
2
3
namespace PHPAlgorithms\GraphTools;
4
5
use PHPAlgorithms\GraphTools\Interfaces\LineInterface;
6
use PHPAlgorithms\GraphTools\Exceptions\LineException;
7
8
class Line3D extends Line2D implements LineInterface {
9
    protected function checkPoint($point)
10
    {
11
        if (!($point instanceof Point3D)) {
12
            throw new LineException('This is not a point');
13
        }
14
    }
15
16
    protected function countWidth()
17
    {
18
        return sqrt(pow($this->from->x - $this->to->x, 2) + pow($this->from->y - $this->to->y, 2) + pow($this->from->z - $this->to->z, 2));
19
    }
20
21
    public function __construct($from, $to)
22
    {
23
        parent::__construct($from, $to);
24
    }
25
}
26