diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 3b2617342aa51335ffba6df3fdcad1d92f4d5ba1..1f16e39ba2f4983f8a10c5d7f72f7b41ee578c2d 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -1380,12 +1380,17 @@ void GModel::save(std::string fileName){ #ifdef HAVE_LUA #include "Bindings.h" +static GModel *myConstructorPtr(){ + return new GModel; +} void GModel::registerBindings(binding *b){ classBinding *cb = b->addClass<GModel>("GModel"); methodBinding *cm; cm = cb->addMethod("mesh",&GModel::mesh); cm = cb->addMethod("load",&GModel::load); cm = cb->addMethod("save",&GModel::save); - cb->setConstructor(constructorPtr<GModel>); + // cb->setConstructor(constructorPtr<GModel>); + // FIXME AGAIN !!!!!!!! JF + cb->setConstructor(myConstructorPtr); } #endif diff --git a/Numeric/fullMatrix.cpp b/Numeric/fullMatrix.cpp index d15f985431994d3bd03d7ae9dfb8f8ce01e2393e..25c4bc3af1ddad40f67f8fedcb0364ded84c7f63 100644 --- a/Numeric/fullMatrix.cpp +++ b/Numeric/fullMatrix.cpp @@ -292,6 +292,12 @@ bool fullMatrix<double>::svd(fullMatrix<double> &V, fullVector<double> &S) #endif #include "Bindings.h" + +// I DID FIX IT FOR NOW ... SHOULD BE BETTER -- JF +static fullMatrix<double> *myConstructorPtr(int a0, int a1){ + return new fullMatrix<double>(a0,a1); +} + template<> void fullMatrix<double>::registerBindings(binding *b){ classBinding *cb = b->addClass<fullMatrix<double> >("fullMatrix"); @@ -302,5 +308,6 @@ void fullMatrix<double>::registerBindings(binding *b){ cb->addMethod("set",&fullMatrix<double>::set); cb->addMethod("gemm",&fullMatrix<double>::gemm); // FIXME DOES NOT COMPILE ON MAC - cb->setConstructor(constructorPtr<fullMatrix<double>,int,int>); + cb->setConstructor(myConstructorPtr); + // cb->setConstructor(constructorPtr<fullMatrix<double>,int,int>); } diff --git a/Solver/dgConservationLaw.cpp b/Solver/dgConservationLaw.cpp index fce315c2a3bb54fee79db05a086491a81e71b453..d66c9dfe824e4f1d6f52d249eaf2b4f689444b96 100644 --- a/Solver/dgConservationLaw.cpp +++ b/Solver/dgConservationLaw.cpp @@ -71,8 +71,6 @@ void dgConservationLaw::registerBindings(binding *b){ cb->addMethod("newOutsideValueBoundary",&dgConservationLaw::newOutsideValueBoundary); } - - void dgBoundaryCondition::registerBindings(binding *b){ classBinding *cb = b->addClass<dgBoundaryCondition>("dgBoundaryCondition"); } diff --git a/Solver/dgConservationLawAdvection.cpp b/Solver/dgConservationLawAdvection.cpp index a8b02efa194eee511ade39d087a60ab745004027..adedf3a207233249ab3272e0fba10dc83b365d9c 100644 --- a/Solver/dgConservationLawAdvection.cpp +++ b/Solver/dgConservationLawAdvection.cpp @@ -95,8 +95,13 @@ dgConservationLawAdvection::dgConservationLawAdvection(std::string vFunctionName #include "Bindings.h" +static dgConservationLawAdvection *myConstructorPtr(std::string a,std::string b){ + return new dgConservationLawAdvection(a,b); +} + void dgConservationLawAdvectionRegisterBindings (binding *b){ classBinding *cb = b->addClass<dgConservationLawAdvection>("dgConservationLawAdvection"); - cb->setConstructor(constructorPtr<dgConservationLawAdvection,std::string,std::string>); + // cb->setConstructor(constructorPtr<dgConservationLawAdvection,std::string,std::string>); + cb->setConstructor(myConstructorPtr); cb->setParentClass<dgConservationLaw>(); } diff --git a/Solver/dgConservationLawPerfectGas.cpp b/Solver/dgConservationLawPerfectGas.cpp index 5a21432eea53711356582724ff11e1b57aaf9ef0..756a397c54986c9c38359dca76e0d91718774f06 100644 --- a/Solver/dgConservationLawPerfectGas.cpp +++ b/Solver/dgConservationLawPerfectGas.cpp @@ -312,10 +312,15 @@ class dgBoundaryConditionPerfectGasLaw2dFreeStream : public dgBoundaryCondition #include "Bindings.h" +static dgPerfectGasLaw2d *myConstructorPtr(){ + return new dgPerfectGasLaw2d ; +} + void dgPerfectGasLaw2dRegisterBindings (binding *b){ classBinding *cb = b->addClass<dgPerfectGasLaw2d>("dgPerfectGasLaw2d"); methodBinding *cm; cb->addMethod("newWallBoundary",&dgPerfectGasLaw2d::newWallBoundary); - cb->setConstructor(constructorPtr<dgPerfectGasLaw2d>); + // cb->setConstructor(constructorPtr<dgPerfectGasLaw2d>); + cb->setConstructor(myConstructorPtr); cb->setParentClass<dgConservationLaw>(); } diff --git a/Solver/dgConservationLawShallowWater2d.cpp b/Solver/dgConservationLawShallowWater2d.cpp index de798d27b071ebb489974f9c1352e721a174dbc3..aefa83bed37821a86c87c238ef24aa7a18014f0c 100644 --- a/Solver/dgConservationLawShallowWater2d.cpp +++ b/Solver/dgConservationLawShallowWater2d.cpp @@ -141,10 +141,14 @@ dgBoundaryCondition *dgConservationLawShallowWater2d::newBoundaryWall(){ } #include "Bindings.h" +static dgConservationLawShallowWater2d *myConstructorPtr(){ + return new dgConservationLawShallowWater2d; +} void dgConservationLawShallowWater2dRegisterBindings (binding *b){ classBinding *cb = b->addClass<dgConservationLawShallowWater2d>("dgConservationLawShallowWater2d"); methodBinding *cm; cb->addMethod("newBoundaryWall",&dgConservationLawShallowWater2d::newBoundaryWall); - cb->setConstructor(constructorPtr<dgConservationLawShallowWater2d>); + // cb->setConstructor(constructorPtr<dgConservationLawShallowWater2d>); + cb->setConstructor(myConstructorPtr); cb->setParentClass<dgConservationLaw>(); } diff --git a/Solver/dgConservationLawWaveEquation.cpp b/Solver/dgConservationLawWaveEquation.cpp index 583b79c7e0c818c5d4a877c3ebbe35de48b4d97e..cf9e894a32af21a514095669c25a0db3877f800d 100644 --- a/Solver/dgConservationLawWaveEquation.cpp +++ b/Solver/dgConservationLawWaveEquation.cpp @@ -136,10 +136,14 @@ dgBoundaryCondition *dgConservationLawWaveEquation::newBoundaryWall()const{ } #include "Bindings.h" +static dgConservationLawWaveEquation *myConstructorPtr(int d){ + return new dgConservationLawWaveEquation (d); +} void dgConservationLawWaveEquationRegisterBindings(binding *b){ classBinding *cb = b->addClass<dgConservationLawWaveEquation> ("dgConservationLawWaveEquation"); methodBinding *cm; cb->addMethod("newBoundaryWall",&dgConservationLawWaveEquation::newBoundaryWall); - cb->setConstructor(constructorPtr<dgConservationLawWaveEquation,int>); + // cb->setConstructor(constructorPtr<dgConservationLawWaveEquation,int>); + cb->setConstructor(myConstructorPtr); cb->setParentClass<dgConservationLaw>(); } diff --git a/Solver/dgSlopeLimiter.cpp b/Solver/dgSlopeLimiter.cpp index 379172738ef20b4ff834609078e2cd922922a6c3..b0b11effaf54420a6b140ffedc875c0de31f7b7c 100644 --- a/Solver/dgSlopeLimiter.cpp +++ b/Solver/dgSlopeLimiter.cpp @@ -5,8 +5,8 @@ //---------------------------------------------------------------------------------- bool dgSlopeLimiter::apply ( dgDofContainer &solution, - std::vector<dgGroupOfElements*> &eGroups, - std::vector<dgGroupOfFaces*> &fGroups) + std::vector<dgGroupOfElements*> &eGroups, + std::vector<dgGroupOfFaces*> &fGroups) { //WARNING FOR ONLY 1 GROUP OF FACES diff --git a/Solver/dgSystemOfEquations.cpp b/Solver/dgSystemOfEquations.cpp index df6070965a80fa91c27cde15c6943a0e21960f49..60983b9eace4c3467baa332ce9e7e710e93e2687 100644 --- a/Solver/dgSystemOfEquations.cpp +++ b/Solver/dgSystemOfEquations.cpp @@ -38,14 +38,19 @@ void dgSystemOfEquations::setConservationLaw (dgConservationLaw *law){ } #include "Bindings.h" + +static dgSystemOfEquations *myConstructorPtr(GModel* gm){ + return new dgSystemOfEquations(gm); +} + void dgSystemOfEquations::registerBindings(binding *b){ classBinding *cb = b->addClass<dgSystemOfEquations>("dgSystemOfEquations"); cb->setDescription("a class to rule them all :-) -- bad description, this class will be removed anyway"); - cb->setConstructor(constructorPtr<dgSystemOfEquations,GModel*>); + cb->setConstructor(myConstructorPtr); methodBinding *cm; cm = cb->addMethod("setConservationLaw",&dgSystemOfEquations::setConservationLaw); cm->setArgNames("law",NULL); - cm->setDescription("set the conservation law this system solve"); + cm->setDescription("set the conservation law this system solves"); cm = cb->addMethod("setup",&dgSystemOfEquations::setup); cm->setDescription("allocate and init internal stuff, call this function after setOrder and setLaw and before anything else on this instance"); cm = cb->addMethod("exportSolution",&dgSystemOfEquations::exportSolution); diff --git a/Solver/function.cpp b/Solver/function.cpp index 209fddc2a26c02632d15a9d965478d334a920f09..3a1189d9ab761419e23010ee671be0e19bc34569 100644 --- a/Solver/function.cpp +++ b/Solver/function.cpp @@ -147,11 +147,15 @@ void function::registerDefaultFunctions() function::add("XYZ", new functionXYZ); } +static functionConstant *myConstructorPtr(fullMatrix<double>*m){ + return new functionConstant(m); +} void function::registerBindings(binding *b){ classBinding *cb = b->addClass<function>("function"); cb->addMethod("getName",&function::getName); cb = b->addClass<functionConstant>("functionConstant"); - cb->setConstructor(constructorPtr<functionConstant,fullMatrix<double>*>); + cb->setConstructor(myConstructorPtr); + // cb->setConstructor(constructorPtr<functionConstant,fullMatrix<double>*>); cb->setParentClass<function>(); }