summaryrefslogtreecommitdiffstats
path: root/kpovmodeler/pmsplinememento.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kpovmodeler/pmsplinememento.cpp')
-rw-r--r--kpovmodeler/pmsplinememento.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/kpovmodeler/pmsplinememento.cpp b/kpovmodeler/pmsplinememento.cpp
new file mode 100644
index 00000000..a197f8ea
--- /dev/null
+++ b/kpovmodeler/pmsplinememento.cpp
@@ -0,0 +1,58 @@
+/*
+**************************************************************************
+ description
+ --------------------
+ copyright : (C) 2002 by Andreas Zehender
+**************************************************************************
+
+**************************************************************************
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+**************************************************************************/
+
+#include "pmsplinememento.h"
+#include "pmdebug.h"
+
+PMSplineMemento::PMSplineMemento( PMObject* originator )
+ : PMMemento( originator )
+{
+ m_bSplinePointsSaved = false;
+}
+
+PMSplineMemento::~PMSplineMemento( )
+{
+}
+
+void PMSplineMemento::setSplinePoints( const QValueList<PMVector>& v )
+{
+ if( !m_bSplinePointsSaved )
+ {
+ // Direct assignment does not work with Qt 2.3.x
+ // The list will be changed later in a graphical
+ // change because QValueList::detach( ) is called
+ // too late!
+ // Copy the list by hand.
+
+ QValueList<PMVector>::ConstIterator it = v.begin( );
+ for( ; it != v.end( ); ++it )
+ m_splinePoints.append( *it );
+
+ m_bSplinePointsSaved = true;
+ addChange( PMCData );
+ }
+}
+
+QValueList<PMVector> PMSplineMemento::splinePoints( ) const
+{
+ if( !m_bSplinePointsSaved )
+ kdError( PMArea ) << "Spline points not saved in PMSplineMemento::splinePoints\n";
+
+ return m_splinePoints;
+}
+
+