From 186c90688e95cee48cf2cc3b14123ce20f65a0a1 Mon Sep 17 00:00:00 2001
From: Tuomas Karna <tuomas.karna@uclouvain.be>
Date: Mon, 18 Oct 2010 12:15:34 +0000
Subject: [PATCH] linearSystem::setParameter accessible in Lua

---
 Solver/linearSystem.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/Solver/linearSystem.cpp b/Solver/linearSystem.cpp
index edc45772d0..76ca787e91 100644
--- a/Solver/linearSystem.cpp
+++ b/Solver/linearSystem.cpp
@@ -8,11 +8,18 @@
 
 template<>
 void linearSystem<double>::registerBindings(binding *b){
-  classBinding *cb = b->addClass<linearSystem<double> >("linearSystemDouble");
-  cb->setDescription("An abstraction of a linear system Ax = b.");
   methodBinding *cm;
+  classBinding *cb = b->addClass<linearSystemBase>("linearSystemBase");
+  cb->setDescription("Base class for linear systems");
+  cm = cb->addMethod("setParameter", &linearSystemBase::setParameter);
+  cm->setDescription("set linearSystem parameters");
+  cm->setArgNames("key","value",NULL);
+  
+  cb = b->addClass<linearSystem<double> >("linearSystemDouble");
+  cb->setDescription("An abstraction of a linear system Ax = b.");
   cm = cb->addMethod("systemSolve", &linearSystem<double>::systemSolve);
   cm->setDescription("compute x = A^{-1}b");
+  cb->setParentClass<linearSystemBase>();
   
 #ifdef HAVE_TAUCS
   cb = b->addClass<linearSystemCSRTaucs<double> >("linearSystemCSRTaucs");
@@ -39,6 +46,7 @@ void linearSystem<double>::registerBindings(binding *b){
   cb->setDescription("An abstraction of a linear system Ax = b.");
   cm = cb->addMethod("systemSolve", &linearSystem<fullMatrix<double> >::systemSolve);
   cm->setDescription("compute x = A^{-1}b");
+  cb->setParentClass<linearSystemBase>();
 #ifdef HAVE_PETSC
   linearSystemPETScRegisterBindings (b);
 #endif
-- 
GitLab