src/types.cpp

changeset 381
241f65769a57
parent 380
e442d9b7c251
child 388
7ff483614aa1
--- a/src/types.cpp	Mon Jul 15 13:52:46 2013 +0300
+++ b/src/types.cpp	Mon Jul 15 14:43:29 2013 +0300
@@ -24,6 +24,8 @@
 #include "common.h"
 #include "types.h"
 #include "misc.h"
+#include "ldtypes.h"
+#include "file.h"
 
 str DoFormat( vector<StringFormatArg> args )
 {
@@ -486,14 +488,14 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-bbox::bbox() {
+LDBoundingBox::LDBoundingBox() {
 	reset();
 }
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-void bbox::calculate() {
+void LDBoundingBox::calculate() {
 	reset();
 	
 	if (!currentFile())
@@ -506,7 +508,7 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-void bbox::calcObject (LDObject* obj) {
+void LDBoundingBox::calcObject (LDObject* obj) {
 	switch (obj->getType()) {
 	case LDObject::Line:
 	case LDObject::Triangle:
@@ -533,10 +535,20 @@
 	}
 }
 
+LDBoundingBox& LDBoundingBox::operator<< (const vertex& v) {
+	calcVertex (v);
+	return *this;
+}
+
+LDBoundingBox& LDBoundingBox::operator<< (LDObject* obj) {
+	calcObject (obj);
+	return *this;
+}
+
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-void bbox::calcVertex (const vertex& v) {
+void LDBoundingBox::calcVertex (const vertex& v) {
 	for (const Axis ax : g_Axes) {
 		if (v[ax] < m_v0[ax])
 			m_v0[ax] = v[ax];
@@ -551,7 +563,7 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-void bbox::reset() {
+void LDBoundingBox::reset() {
 	m_v0[X] = m_v0[Y] = m_v0[Z] = 0x7FFFFFFF;
 	m_v1[X] = m_v1[Y] = m_v1[Z] = 0xFFFFFFFF;
 	
@@ -561,7 +573,7 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-double bbox::size() const {
+double LDBoundingBox::size() const {
 	double xscale = (m_v0[X] - m_v1[X]);
 	double yscale = (m_v0[Y] - m_v1[Y]);
 	double zscale = (m_v0[Z] - m_v1[Z]);
@@ -580,7 +592,7 @@
 }
 
 // =============================================================================
-vertex bbox::center() const {
+vertex LDBoundingBox::center() const {
 	return vertex (
 		(m_v0[X] + m_v1[X]) / 2,
 		(m_v0[Y] + m_v1[Y]) / 2,

mercurial