src/ldObject.cc

changeset 805
d88c0354de97
parent 795
195fa1fff9c3
child 806
4240f47aa2d4
--- a/src/ldObject.cc	Mon Jun 16 17:55:10 2014 +0300
+++ b/src/ldObject.cc	Mon Jun 16 18:31:13 2014 +0300
@@ -266,14 +266,24 @@
 
 // =============================================================================
 //
-LDQuad::LDQuad (LDObjectPtr* selfptr, const Vertex& v0, const Vertex& v1,
-				const Vertex& v2, const Vertex& v3) :
+LDTriangle::LDTriangle (LDObjectPtr* selfptr, const Vertex& v1, const Vertex& v2, const Vertex& v3) :
 	LDObject (selfptr)
 {
-	setVertex (0, v0);
-	setVertex (1, v1);
-	setVertex (2, v2);
-	setVertex (3, v3);
+	setVertex (0, v1);
+	setVertex (1, v2);
+	setVertex (2, v3);
+}
+
+// =============================================================================
+//
+LDQuad::LDQuad (LDObjectPtr* selfptr, const Vertex& v1, const Vertex& v2,
+	const Vertex& v3, const Vertex& v4) :
+	LDObject (selfptr)
+{
+	setVertex (0, v1);
+	setVertex (1, v2);
+	setVertex (2, v3);
+	setVertex (3, v4);
 }
 
 // =============================================================================
@@ -742,7 +752,7 @@
 
 // =============================================================================
 //
-LDLinePtr LDCondLine::demote()
+LDLinePtr LDCondLine::toEdgeLine()
 {
 	LDLinePtr replacement (spawn<LDLine>());
 
@@ -818,7 +828,7 @@
 //
 const Vertex& LDObject::vertex (int i) const
 {
-	return m_coords[i]->data();
+	return m_coords[i];
 }
 
 // =============================================================================
@@ -826,9 +836,9 @@
 void LDObject::setVertex (int i, const Vertex& vert)
 {
 	if (document() != null)
-		document().toStrongRef()->vertexChanged (*m_coords[i], vert);
+		document().toStrongRef()->vertexChanged (m_coords[i], vert);
 
-	changeProperty (self(), &m_coords[i], LDSharedVertex::getSharedVertex (vert));
+	changeProperty (self(), &m_coords[i], vert);
 }
 
 // =============================================================================
@@ -840,7 +850,7 @@
 	if (ref->document() != null)
 		ref->document().toStrongRef()->removeKnownVerticesOf (ref);
 
-	changeProperty (ref, &m_position, LDSharedVertex::getSharedVertex (a));
+	changeProperty (ref, &m_position, a);
 
 	if (ref->document() != null)
 		ref->document().toStrongRef()->addKnownVerticesOf (ref);
@@ -863,44 +873,6 @@
 
 // =============================================================================
 //
-static QMap<Vertex, LDSharedVertex*> g_sharedVerts;
-
-LDSharedVertex* LDSharedVertex::getSharedVertex (const Vertex& a)
-{
-	auto it = g_sharedVerts.find (a);
-
-	if (it == g_sharedVerts.end())
-	{
-		LDSharedVertex* v = new LDSharedVertex (a);
-		g_sharedVerts[a] = v;
-		return v;
-	}
-
-	return *it;
-}
-
-// =============================================================================
-//
-void LDSharedVertex::addRef (LDObjectPtr a)
-{
-	m_refs << a;
-}
-
-// =============================================================================
-//
-void LDSharedVertex::delRef (LDObjectPtr a)
-{
-	m_refs.removeOne (a);
-
-	if (m_refs.empty())
-	{
-		g_sharedVerts.remove (m_data);
-		delete this;
-	}
-}
-
-// =============================================================================
-//
 void LDObject::select()
 {
 	assert (document() != null);

mercurial