Konstantin Ladutenko 5 år sedan
förälder
incheckning
829ae4b8e2
3 ändrade filer med 9 tillägg och 6 borttagningar
  1. 2 0
      Makefile
  2. 4 0
      src/nmie-applied.hpp
  3. 3 6
      src/nmie-js-wrapper.cc

+ 2 - 0
Makefile

@@ -56,6 +56,8 @@ fieldnlay-mp: $(SRCDIR)/nearfield.cc $(SRCDIR)/nmie.cc $(CXX_NMIE_HEADERS)
 
 wasm: $(SRCDIR)/nmie-js-wrapper.cc $(CXX_NMIE_HEADERS)
 	emcc --bind -lm -Wall -O2 -std=c++11 -s WASM=1 -s NO_EXIT_RUNTIME=1 -s "EXTRA_EXPORTED_RUNTIME_METHODS=['addOnPostRun']" -o nmie.js $(SRCDIR)/nmie-js-wrapper.cc
+	# @cp nmie.js web/
+	# @cp nmie.wasm web/
 
 clean:
 	$(PYTHON) setup.py clean

+ 4 - 0
src/nmie-applied.hpp

@@ -113,6 +113,10 @@ namespace nmie {
     std::vector<FloatType> GetPatternHk();
     std::vector<FloatType> GetPatternUnpolarized();
 
+    // Dimensionless
+    FloatType GetQsca(){ return this->MultiLayerMie<FloatType>::GetQsca();};
+    FloatType GetQabs(){ return this->MultiLayerMie<FloatType>::GetQabs();};
+    FloatType GetQext(){ return this->MultiLayerMie<FloatType>::GetQext();};
     // Size parameter units
     std::vector<FloatType> GetLayerWidthSP();
     // Same as to get target and coating index

+ 3 - 6
src/nmie-js-wrapper.cc

@@ -41,17 +41,14 @@ using namespace emscripten;
 nmie::MultiLayerMieApplied<double> ml_mie;
 
 EMSCRIPTEN_BINDINGS (c) {
-        class_<nmie::MultiLayerMie<double>>("nmie_base")
-                .constructor<>()
-                .function("GetQsca",&nmie::MultiLayerMie<double>::GetQsca)
-                .function("GetQext",&nmie::MultiLayerMie<double>::GetQext)
-                .function("GetQabs",&nmie::MultiLayerMie<double>::GetQabs)
-        ;
         class_<nmie::MultiLayerMieApplied<double>>("nmie")
                 .constructor<>()
                 .function("SetWavelength", &nmie::MultiLayerMieApplied<double>::SetWavelength)
                 .function("AddTargetLayerReIm",&nmie::MultiLayerMieApplied<double>::AddTargetLayerReIm)
                 .function("RunMieCalculation",&nmie::MultiLayerMieApplied<double>::RunMieCalculation)
+                .function("GetQsca",&nmie::MultiLayerMieApplied<double>::GetQsca)
+                .function("GetQext",&nmie::MultiLayerMieApplied<double>::GetQext)
+                .function("GetQabs",&nmie::MultiLayerMieApplied<double>::GetQabs)
 //                .function("bf",&nmie::MultiLayerMieApplied<double>::bf)
         ;
 }