summaryrefslogtreecommitdiffstats
path: root/src/core/Range3D.cpp
blob: 7fa28d67d77984229af336384805d2bcee4e7d83 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "common.h"
#include "Range3D.h"
#include "General.h"

CRange3D::CRange3D(CVector _min, CVector _max) : min(_min), max(_max) {}

bool
CRange3D::IsInRange(CVector vec)
{
	return min.x < vec.x && max.x > vec.x && min.y < vec.y && max.y > vec.y && min.z < vec.z && max.z > vec.z;
}

void
CRange3D::DebugShowRange(float, int)
{
}

CVector
CRange3D::GetRandomPointInRange()
{
	int distX = Abs(max.x - min.x);
	int distY = Abs(max.y - min.y);
	int distZ = Abs(max.z - min.z);

	float outX = CGeneral::GetRandomNumber() % distX + min.x;
	float outY = CGeneral::GetRandomNumber() % distY + min.y;
	float outZ = CGeneral::GetRandomNumber() % distZ + min.z;

	return CVector(outX, outY, outZ);
}