bbox.cpp

changeset 164
8c93d8e38494
parent 160
edcb03f3ef75
child 168
96691a009dff
--- a/bbox.cpp	Sun May 05 17:04:42 2013 +0300
+++ b/bbox.cpp	Mon May 06 00:10:56 2013 +0300
@@ -112,29 +112,33 @@
 // =============================================================================
 void bbox::calcVertex (vertex v) {
 	for (const Axis ax : g_Axes) {
-		if (v[ax] < v0[ax])
-			v0[ax] = v[ax];
+		if (v[ax] < m_v0[ax])
+			m_v0[ax] = v[ax];
 		
-		if (v[ax] > v1[ax])
-			v1[ax] = v[ax];
+		if (v[ax] > m_v1[ax])
+			m_v1[ax] = v[ax];
 	}
+	
+	m_empty = false;
 }
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
 void bbox::reset () {
-	v0[X] = v0[Y] = v0[Z] = +0x7FFFFFFF;
-	v1[X] = v1[Y] = v1[Z] = -0x7FFFFFFF;
+	m_v0[X] = m_v0[Y] = m_v0[Z] = +0x7FFFFFFF;
+	m_v1[X] = m_v1[Y] = m_v1[Z] = -0x7FFFFFFF;
+	
+	m_empty = true;
 }
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
 double bbox::size () const {
-	double fXScale = (v0[X] - v1[X]);
-	double fYScale = (v0[Y] - v1[Y]);
-	double fZScale = (v0[Z] - v1[Z]);
+	double fXScale = (m_v0[X] - m_v1[X]);
+	double fYScale = (m_v0[Y] - m_v1[Y]);
+	double fZScale = (m_v0[Z] - m_v1[Z]);
 	double fSize = fZScale;
 	
 	if (fXScale > fYScale) {
@@ -152,7 +156,12 @@
 // =============================================================================
 vertex bbox::center () const {
 	return vertex (
-		(v0[X] + v1[X]) / 2,
-		(v0[Y] + v1[Y]) / 2,
-		(v0[Z] + v1[Z]) / 2);
+		(m_v0[X] + m_v1[X]) / 2,
+		(m_v0[Y] + m_v1[Y]) / 2,
+		(m_v0[Z] + m_v1[Z]) / 2);
+}
+
+// =============================================================================
+bool bbox::empty() const {
+	return m_empty;
 }
\ No newline at end of file

mercurial