src/types.cpp

changeset 268
778eed342ee4
parent 261
c4ad4e3c6839
child 270
f5f2353af0d9
--- a/src/types.cpp	Sat Jun 01 20:31:33 2013 +0300
+++ b/src/types.cpp	Sat Jun 01 21:36:03 2013 +0300
@@ -28,13 +28,13 @@
 }
 
 // =============================================================================
-void vertex::move (vertex other) {
+void vertex::move (const vertex& other) {
 	for (const Axis ax : g_Axes)
 		m_coords[ax] += other[ax];
 }
 
 // =============================================================================
-vertex vertex::midpoint (vertex& other) {
+vertex vertex::midpoint (const vertex& other) {
 	vertex mid;
 	
 	for (const Axis ax : g_Axes)
@@ -44,7 +44,7 @@
 }
 
 // =============================================================================
-str vertex::stringRep (const bool mangled) {
+str vertex::stringRep (bool mangled) const {
 	return fmt (mangled ? "(%s, %s, %s)" : "%s %s %s",
 		ftoa (coord (X)).chars(),
 		ftoa (coord (Y)).chars(),
@@ -104,11 +104,17 @@
 	return other /= d;
 }
 
-vertex& vertex::operator+= (vertex other) {
+vertex& vertex::operator+= (const vertex& other) {
 	move (other);
 	return *this;
 }
 
+vertex& vertex::operator+ (const vertex& other) const {
+	vertex newvert = *this;
+	newvert.move (other);
+	return newvert;
+}
+
 int vertex::operator< (const vertex& other) const {
 	if (operator== (other))
 		return false;
@@ -171,7 +177,7 @@
 }
 
 // =============================================================================
-matrix matrix::mult (matrix other) {
+matrix matrix::mult (matrix other) const {
 	matrix val;
 	val.zero ();
 	

mercurial