Typehinted AxisAlignedBB

This commit is contained in:
Dylan K. Taylor 2017-07-15 18:43:10 +01:00
parent 57e7c3d91f
commit 3150c50cac

View File

@ -27,14 +27,20 @@ use pocketmine\level\MovingObjectPosition;
class AxisAlignedBB{
/** @var float */
public $minX;
/** @var float */
public $minY;
/** @var float */
public $minZ;
/** @var float */
public $maxX;
/** @var float */
public $maxY;
/** @var float */
public $maxZ;
public function __construct($minX, $minY, $minZ, $maxX, $maxY, $maxZ){
public function __construct(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ){
$this->minX = $minX;
$this->minY = $minY;
$this->minZ = $minZ;
@ -43,7 +49,7 @@ class AxisAlignedBB{
$this->maxZ = $maxZ;
}
public function setBounds($minX, $minY, $minZ, $maxX, $maxY, $maxZ){
public function setBounds(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ){
$this->minX = $minX;
$this->minY = $minY;
$this->minZ = $minZ;
@ -54,7 +60,7 @@ class AxisAlignedBB{
return $this;
}
public function addCoord($x, $y, $z) : AxisAlignedBB{
public function addCoord(float $x, float $y, float $z) : AxisAlignedBB{
$minX = $this->minX;
$minY = $this->minY;
$minZ = $this->minZ;
@ -83,11 +89,11 @@ class AxisAlignedBB{
return new AxisAlignedBB($minX, $minY, $minZ, $maxX, $maxY, $maxZ);
}
public function grow($x, $y, $z) : AxisAlignedBB{
public function grow(float $x, float $y, float $z) : AxisAlignedBB{
return new AxisAlignedBB($this->minX - $x, $this->minY - $y, $this->minZ - $z, $this->maxX + $x, $this->maxY + $y, $this->maxZ + $z);
}
public function expand($x, $y, $z){
public function expand(float $x, float $y, float $z){
$this->minX -= $x;
$this->minY -= $y;
$this->minZ -= $z;
@ -98,7 +104,7 @@ class AxisAlignedBB{
return $this;
}
public function offset($x, $y, $z){
public function offset(float $x, float $y, float $z){
$this->minX += $x;
$this->minY += $y;
$this->minZ += $z;
@ -109,11 +115,11 @@ class AxisAlignedBB{
return $this;
}
public function shrink($x, $y, $z) : AxisAlignedBB{
public function shrink(float $x, float $y, float $z) : AxisAlignedBB{
return new AxisAlignedBB($this->minX + $x, $this->minY + $y, $this->minZ + $z, $this->maxX - $x, $this->maxY - $y, $this->maxZ - $z);
}
public function contract($x, $y, $z){
public function contract(float $x, float $y, float $z){
$this->minX += $x;
$this->minY += $y;
$this->minZ += $z;
@ -138,7 +144,7 @@ class AxisAlignedBB{
return new AxisAlignedBB($this->minX + $x, $this->minY + $y, $this->minZ + $z, $this->maxX + $x, $this->maxY + $y, $this->maxZ + $z);
}
public function calculateXOffset(AxisAlignedBB $bb, $x){
public function calculateXOffset(AxisAlignedBB $bb, float $x) : float{
if($bb->maxY <= $this->minY or $bb->minY >= $this->maxY){
return $x;
}
@ -161,7 +167,7 @@ class AxisAlignedBB{
return $x;
}
public function calculateYOffset(AxisAlignedBB $bb, $y){
public function calculateYOffset(AxisAlignedBB $bb, float $y) : float{
if($bb->maxX <= $this->minX or $bb->minX >= $this->maxX){
return $y;
}
@ -184,7 +190,7 @@ class AxisAlignedBB{
return $y;
}
public function calculateZOffset(AxisAlignedBB $bb, $z){
public function calculateZOffset(AxisAlignedBB $bb, float $z) : float{
if($bb->maxX <= $this->minX or $bb->minX >= $this->maxX){
return $z;
}
@ -228,7 +234,7 @@ class AxisAlignedBB{
return $vector->z > $this->minZ and $vector->z < $this->maxZ;
}
public function getAverageEdgeLength(){
public function getAverageEdgeLength() : float{
return ($this->maxX - $this->minX + $this->maxY - $this->minY + $this->maxZ - $this->minZ) / 3;
}