mirror of
https://github.com/CoolProp/CoolProp.git
synced 2026-04-23 03:00:17 -04:00
Move entire Emscripten interface for Javascript into its own file that is included separately; closes #1318
This commit is contained in:
@@ -957,48 +957,4 @@ TEST_CASE("Check derivatives in first_partial_deriv","[derivs_in_first_partial_d
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/// *********************************************************************************
|
||||
/// *********************************************************************************
|
||||
/// EMSCRIPTEN (for javascript)
|
||||
/// *********************************************************************************
|
||||
/// *********************************************************************************
|
||||
|
||||
#ifdef EMSCRIPTEN
|
||||
|
||||
#include <emscripten/bind.h>
|
||||
using namespace emscripten;
|
||||
|
||||
CoolProp::AbstractState * factory(const std::string &backend, const std::string &fluid_names)
|
||||
{
|
||||
return CoolProp::AbstractState::factory(backend, strsplit(fluid_names, '&'));
|
||||
}
|
||||
|
||||
// Binding code
|
||||
EMSCRIPTEN_BINDINGS(abstract_state_bindings) {
|
||||
|
||||
register_vector<double>("VectorDouble");
|
||||
register_vector<std::string>("VectorString");
|
||||
|
||||
value_object<CoolProp::PhaseEnvelopeData>("CoolProp::PhaseEnvelopeData")
|
||||
// Use X macros to auto-generate the variables;
|
||||
// each will look something like: .field("T", &CoolProp::PhaseEnvelopeData::T);
|
||||
#define X(name) .field(#name, &CoolProp::PhaseEnvelopeData::name)
|
||||
PHASE_ENVELOPE_VECTORS
|
||||
#undef X
|
||||
;
|
||||
|
||||
function("factory", &factory, allow_raw_pointers());
|
||||
|
||||
class_<CoolProp::AbstractState>("AbstractState")
|
||||
.function("gas_constant", &CoolProp::AbstractState::gas_constant)
|
||||
.function("update", &CoolProp::AbstractState::update)
|
||||
.function("set_mole_fractions", &CoolProp::AbstractState::set_mole_fractions_double)
|
||||
.function("build_phase_envelope", &CoolProp::AbstractState::build_phase_envelope)
|
||||
.function("get_phase_envelope_data", &CoolProp::AbstractState::get_phase_envelope_data);
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user