Skip to content

Instantly share code, notes, and snippets.

@imikejackson
Last active June 19, 2018 13:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imikejackson/d13a00a639271eb99379ebcc95d12424 to your computer and use it in GitHub Desktop.
Save imikejackson/d13a00a639271eb99379ebcc95d12424 to your computer and use it in GitHub Desktop.
Pybind11 Binding Code
/* This file is auto-genereated from a template file. If you want changes
* then edit the template file.
*
*/
#include <pybind11/numpy.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl_bind.h>
PYBIND11_MAKE_OPAQUE(std::vector<int8_t>);
PYBIND11_MAKE_OPAQUE(std::vector<uint8_t>);
PYBIND11_MAKE_OPAQUE(std::vector<int16_t>);
PYBIND11_MAKE_OPAQUE(std::vector<uint16_t>);
PYBIND11_MAKE_OPAQUE(std::vector<int32_t>);
PYBIND11_MAKE_OPAQUE(std::vector<uint32_t>);
PYBIND11_MAKE_OPAQUE(std::vector<int64_t>);
PYBIND11_MAKE_OPAQUE(std::vector<uint64_t>);
PYBIND11_MAKE_OPAQUE(std::vector<float>);
PYBIND11_MAKE_OPAQUE(std::vector<double>);
/*
* Linux does not like the below line because unsigned long int and size_t are
* the same thing. Apple (clang) and Windows (MSVC) do not seem to have a problem
* with the line.
*/
#if defined(__APPLE__)
PYBIND11_MAKE_OPAQUE(std::vector<size_t>);
#endif
#include <utility>
#include <QtCore/QString>
namespace py = pybind11;
PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>);
namespace pybind11
{
namespace detail
{
/* Create a TypeCaster for auto python string <--> QString conversion */
template <> struct type_caster<QString>
{
public:
/**
* This macro establishes the name 'QString' in
* function signatures and declares a local variable
* 'value' of type QString
*/
PYBIND11_TYPE_CASTER(QString, _("QString"));
/**
* @brief Conversion part 1 (Python->C++): convert a PyObject into a QString
* instance or return false upon failure. The second argument
* indicates whether implicit conversions should be applied.
* @param src
* @return boolean
*/
bool load(handle src, bool)
{
if(!src)
{
return false;
}
object temp;
handle load_src = src;
if(PyUnicode_Check(load_src.ptr()))
{
temp = reinterpret_steal<object>(PyUnicode_AsUTF8String(load_src.ptr()));
if(!temp) /* A UnicodeEncodeError occured */
{
PyErr_Clear();
return false;
}
load_src = temp;
}
char* buffer = nullptr;
ssize_t length = 0;
int err = PYBIND11_BYTES_AS_STRING_AND_SIZE(load_src.ptr(), &buffer, &length);
if(err == -1) /* A TypeError occured */
{
PyErr_Clear();
return false;
}
value = QString::fromUtf8(buffer, static_cast<int>(length));
return true;
}
/**
* @brief Conversion part 2 (C++ -> Python): convert an QString instance into
* a Python object. The second and third arguments are used to
* indicate the return value policy and parent object (for
* ``return_value_policy::reference_internal``) and are generally
* ignored by implicit casters.
*
* @param src
* @return
*/
static handle cast(const QString& src, return_value_policy /* policy */, handle /* parent */)
{
#if PY_VERSION_HEX >= 0x03030000 // Python 3.3
assert(sizeof(QChar) == 2);
return PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND, src.constData(), src.length());
#else
QByteArray a = src.toUtf8();
return PyUnicode_FromStringAndSize(a.data(), (ssize_t)a.length());
#endif
}
};
}
}
#ifndef PySharedPtrClass_TEMPLATE
#define PySharedPtrClass_TEMPLATE
template <typename T> using PySharedPtrClass = py::class_<T, std::shared_ptr<T>>;
#endif
/* These are all the pybind11 headers for each for each of the exported classes */
#include "SIMPLib/Common/Observable_PY11.h"
#include "SIMPLib/Filtering/AbstractFilter_PY11.h"
#include "SIMPLib/CoreFilters/ArrayCalculator_PY11.h"
#include "SIMPLib/CoreFilters/Breakpoint_PY11.h"
#include "SIMPLib/CoreFilters/CombineAttributeArrays_PY11.h"
#include "SIMPLib/CoreFilters/CombineAttributeMatrices_PY11.h"
#include "SIMPLib/CoreFilters/ConditionalSetValue_PY11.h"
#include "SIMPLib/CoreFilters/ConvertData_PY11.h"
#include "SIMPLib/CoreFilters/CopyFeatureArrayToElementArray_PY11.h"
#include "SIMPLib/CoreFilters/CreateAttributeMatrix_PY11.h"
#include "SIMPLib/CoreFilters/CreateDataArray_PY11.h"
#include "SIMPLib/CoreFilters/CreateDataContainer_PY11.h"
#include "SIMPLib/CoreFilters/CreateFeatureArrayFromElementArray_PY11.h"
#include "SIMPLib/CoreFilters/CreateImageGeometry_PY11.h"
#include "SIMPLib/CoreFilters/CreateStringArray_PY11.h"
#include "SIMPLib/CoreFilters/DataContainerReader_PY11.h"
#include "SIMPLib/CoreFilters/DataContainerWriter_PY11.h"
#include "SIMPLib/CoreFilters/EmptyFilter_PY11.h"
#include "SIMPLib/CoreFilters/ExecuteProcess_PY11.h"
#include "SIMPLib/CoreFilters/ExtractComponentAsArray_PY11.h"
#include "SIMPLib/CoreFilters/FeatureCountDecision_PY11.h"
#include "SIMPLib/CoreFilters/FeatureDataCSVWriter_PY11.h"
#include "SIMPLib/CoreFilters/FileWriter_PY11.h"
#include "SIMPLib/CoreFilters/FindDerivatives_PY11.h"
#include "SIMPLib/CoreFilters/GenerateColorTable_PY11.h"
#include "SIMPLib/CoreFilters/ImportAsciDataArray_PY11.h"
#include "SIMPLib/CoreFilters/ImportHDF5Dataset_PY11.h"
#include "SIMPLib/CoreFilters/LinkFeatureMapToElementArray_PY11.h"
#include "SIMPLib/CoreFilters/MaskCountDecision_PY11.h"
#include "SIMPLib/CoreFilters/MoveData_PY11.h"
#include "SIMPLib/CoreFilters/MoveMultiData_PY11.h"
#include "SIMPLib/CoreFilters/MultiThresholdObjects_PY11.h"
#include "SIMPLib/CoreFilters/MultiThresholdObjects2_PY11.h"
#include "SIMPLib/CoreFilters/PipelineAnnotation_PY11.h"
#include "SIMPLib/CoreFilters/PostSlackMessage_PY11.h"
#include "SIMPLib/CoreFilters/RawBinaryReader_PY11.h"
#include "SIMPLib/CoreFilters/ReadASCIIData_PY11.h"
#include "SIMPLib/CoreFilters/RemoveArrays_PY11.h"
#include "SIMPLib/CoreFilters/RemoveComponentFromArray_PY11.h"
#include "SIMPLib/CoreFilters/RenameAttributeArray_PY11.h"
#include "SIMPLib/CoreFilters/RenameAttributeMatrix_PY11.h"
#include "SIMPLib/CoreFilters/RenameDataContainer_PY11.h"
#include "SIMPLib/CoreFilters/ReplaceValueInArray_PY11.h"
#include "SIMPLib/CoreFilters/RequiredZThickness_PY11.h"
#include "SIMPLib/CoreFilters/ScaleVolume_PY11.h"
#include "SIMPLib/CoreFilters/SetOriginResolutionImageGeom_PY11.h"
#include "SIMPLib/CoreFilters/WriteASCIIData_PY11.h"
#include "SIMPLib/CoreFilters/WriteTriangleGeometry_PY11.h"
#include "SIMPLib/TestFilters/ArraySelectionExample_PY11.h"
#include "SIMPLib/TestFilters/ChangeGlobalValue_PY11.h"
#include "SIMPLib/TestFilters/DynamicTableExample_PY11.h"
#include "SIMPLib/TestFilters/ErrorWarningFilter_PY11.h"
#include "SIMPLib/TestFilters/GenericExample_PY11.h"
#include "SIMPLib/TestFilters/MakeDataContainer_PY11.h"
#include "SIMPLib/TestFilters/ThresholdExample_PY11.h"
#include "SIMPLib/DataArrays/IDataArray_PY11.h"
#include "SIMPLib/DataContainers/AttributeMatrix_PY11.h"
#include "SIMPLib/DataContainers/DataArrayPath_PY11.h"
#include "SIMPLib/DataContainers/DataContainer_PY11.h"
#include "SIMPLib/DataContainers/DataContainerArray_PY11.h"
#include "SIMPLib/DataContainers/DataContainerArrayProxy_PY11.h"
#include "SIMPLib/Filtering/FilterPipeline_PY11.h"
#include "SIMPLib/Geometry/IGeometry_PY11.h"
#include "SIMPLib/Geometry/IGeometryGrid_PY11.h"
#include "SIMPLib/Geometry/ImageGeom_PY11.h"
#include "SIMPLib/Utilities/SIMPLH5DataReader_PY11.h"
#include "SIMPLib/Utilities/SIMPLH5DataReaderRequirements_PY11.h"
/******************************************************************************
*
******************************************************************************/
#include "SIMPLib/DataArrays/DataArray.hpp"
#define PYB11_DEFINE_DATAARRAY_INIT(T, NAME) \
PySharedPtrClass<DataArray<T>> declare##NAME(py::module& m, PySharedPtrClass<IDataArray>& parent) \
{ \
using DataArrayType = DataArray<T>; \
PySharedPtrClass<DataArrayType> instance(m, #NAME, parent, py::buffer_protocol()); \
instance.def(py::init([](size_t numElements, QString name, bool allocate) { return DataArrayType::CreateArray(numElements, name, allocate); })) \
.def(py::init([](T* ptr, size_t numElements, std::vector<size_t> cDims, QString name, bool ownsData) { \
return DataArrayType::WrapPointer(ptr, numElements, QVector<size_t>::fromStdVector(cDims), name, ownsData); \
})) \
.def(py::init([](py::array_t<T, py::array::c_style> b, std::vector<size_t> cDims, QString name, bool ownsData) { \
ssize_t numElements = 1; \
ssize_t nDims = b.ndim(); \
for(ssize_t e = 0; e < nDims; e++) \
{ \
numElements *= b.shape(e); \
} \
return DataArrayType::WrapPointer(reinterpret_cast<T*>(b.mutable_data(0)), static_cast<size_t>(numElements), QVector<size_t>::fromStdVector(cDims), name, ownsData); \
})) /* Class instance method setValue */ \
.def("setValue", &DataArrayType::setValue, py::arg("index"), py::arg("value")) \
.def("getValue", &DataArrayType::getValue, py::arg("index")) \
.def_property("Name", &DataArrayType::getName, &DataArrayType::setName); \
; \
return instance; \
}
PYB11_DEFINE_DATAARRAY_INIT(int8_t, Int8ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(uint8_t, UInt8ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(int16_t, Int16ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(uint16_t, UInt16ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(int32_t, Int32ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(uint32_t, UInt32ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(int64_t, Int64ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(uint64_t, UInt64ArrayType);
PYB11_DEFINE_DATAARRAY_INIT(float, FloatArrayType);
PYB11_DEFINE_DATAARRAY_INIT(double, DoubleArrayType);
/******************************************************************************
*
******************************************************************************/
/**
* @brief PYBIND11_MODULE This section declares our python module, its name and
* what classes are available within the module.
*
*/
PYBIND11_MODULE(simpl_py, mod)
{
// py::module mod = m.def_submodule("simpl_py");
mod.doc() = "Python wrapping for SIMPL_PY";
/* STL Binding code */
py::bind_vector<std::vector<int8_t>>(mod, "VectorInt8");
py::bind_vector<std::vector<uint8_t>>(mod, "VectorUInt8");
py::bind_vector<std::vector<int16_t>>(mod, "VectorInt16");
py::bind_vector<std::vector<uint16_t>>(mod, "VectorUInt16");
py::bind_vector<std::vector<int32_t>>(mod, "VectorInt32");
py::bind_vector<std::vector<uint32_t>>(mod, "VectorUInt32");
py::bind_vector<std::vector<int64_t>>(mod, "VectorInt64");
py::bind_vector<std::vector<uint64_t>>(mod, "VectorUInt64");
py::bind_vector<std::vector<float>>(mod, "VectorFloat");
py::bind_vector<std::vector<double>>(mod, "VectorDouble");
#if defined(__APPLE__) || defined (_WIN32)
py::bind_vector<std::vector<size_t>>(mod, "VectorSizeT");
#endif
/* Init codes for classes in the Module */
/* These are all the pybind11 instantiations for each of the exported classes */
PySharedPtrClass<Observable> simpl_py_Observable = declareObservable(mod);
PySharedPtrClass<AbstractFilter> simpl_py_AbstractFilter = declareAbstractFilter(mod);
PySharedPtrClass<ArrayCalculator> simpl_py_ArrayCalculator = declareArrayCalculator(mod, simpl_py_AbstractFilter);
PySharedPtrClass<Breakpoint> simpl_py_Breakpoint = declareBreakpoint(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CombineAttributeArrays> simpl_py_CombineAttributeArrays = declareCombineAttributeArrays(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CombineAttributeMatrices> simpl_py_CombineAttributeMatrices = declareCombineAttributeMatrices(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ConditionalSetValue> simpl_py_ConditionalSetValue = declareConditionalSetValue(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ConvertData> simpl_py_ConvertData = declareConvertData(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CopyFeatureArrayToElementArray> simpl_py_CopyFeatureArrayToElementArray = declareCopyFeatureArrayToElementArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateAttributeMatrix> simpl_py_CreateAttributeMatrix = declareCreateAttributeMatrix(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateDataArray> simpl_py_CreateDataArray = declareCreateDataArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateDataContainer> simpl_py_CreateDataContainer = declareCreateDataContainer(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateFeatureArrayFromElementArray> simpl_py_CreateFeatureArrayFromElementArray = declareCreateFeatureArrayFromElementArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateImageGeometry> simpl_py_CreateImageGeometry = declareCreateImageGeometry(mod, simpl_py_AbstractFilter);
PySharedPtrClass<CreateStringArray> simpl_py_CreateStringArray = declareCreateStringArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<DataContainerReader> simpl_py_DataContainerReader = declareDataContainerReader(mod, simpl_py_AbstractFilter);
PySharedPtrClass<DataContainerWriter> simpl_py_DataContainerWriter = declareDataContainerWriter(mod, simpl_py_AbstractFilter);
PySharedPtrClass<EmptyFilter> simpl_py_EmptyFilter = declareEmptyFilter(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ExecuteProcess> simpl_py_ExecuteProcess = declareExecuteProcess(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ExtractComponentAsArray> simpl_py_ExtractComponentAsArray = declareExtractComponentAsArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<FeatureCountDecision> simpl_py_FeatureCountDecision = declareFeatureCountDecision(mod, simpl_py_AbstractFilter);
PySharedPtrClass<FeatureDataCSVWriter> simpl_py_FeatureDataCSVWriter = declareFeatureDataCSVWriter(mod, simpl_py_AbstractFilter);
PySharedPtrClass<FileWriter> simpl_py_FileWriter = declareFileWriter(mod, simpl_py_AbstractFilter);
PySharedPtrClass<FindDerivatives> simpl_py_FindDerivatives = declareFindDerivatives(mod, simpl_py_AbstractFilter);
PySharedPtrClass<GenerateColorTable> simpl_py_GenerateColorTable = declareGenerateColorTable(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ImportAsciDataArray> simpl_py_ImportAsciDataArray = declareImportAsciDataArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ImportHDF5Dataset> simpl_py_ImportHDF5Dataset = declareImportHDF5Dataset(mod, simpl_py_AbstractFilter);
PySharedPtrClass<LinkFeatureMapToElementArray> simpl_py_LinkFeatureMapToElementArray = declareLinkFeatureMapToElementArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MaskCountDecision> simpl_py_MaskCountDecision = declareMaskCountDecision(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MoveData> simpl_py_MoveData = declareMoveData(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MoveMultiData> simpl_py_MoveMultiData = declareMoveMultiData(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MultiThresholdObjects> simpl_py_MultiThresholdObjects = declareMultiThresholdObjects(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MultiThresholdObjects2> simpl_py_MultiThresholdObjects2 = declareMultiThresholdObjects2(mod, simpl_py_AbstractFilter);
PySharedPtrClass<PipelineAnnotation> simpl_py_PipelineAnnotation = declarePipelineAnnotation(mod, simpl_py_AbstractFilter);
PySharedPtrClass<PostSlackMessage> simpl_py_PostSlackMessage = declarePostSlackMessage(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RawBinaryReader> simpl_py_RawBinaryReader = declareRawBinaryReader(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ReadASCIIData> simpl_py_ReadASCIIData = declareReadASCIIData(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RemoveArrays> simpl_py_RemoveArrays = declareRemoveArrays(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RemoveComponentFromArray> simpl_py_RemoveComponentFromArray = declareRemoveComponentFromArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RenameAttributeArray> simpl_py_RenameAttributeArray = declareRenameAttributeArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RenameAttributeMatrix> simpl_py_RenameAttributeMatrix = declareRenameAttributeMatrix(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RenameDataContainer> simpl_py_RenameDataContainer = declareRenameDataContainer(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ReplaceValueInArray> simpl_py_ReplaceValueInArray = declareReplaceValueInArray(mod, simpl_py_AbstractFilter);
PySharedPtrClass<RequiredZThickness> simpl_py_RequiredZThickness = declareRequiredZThickness(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ScaleVolume> simpl_py_ScaleVolume = declareScaleVolume(mod, simpl_py_AbstractFilter);
PySharedPtrClass<SetOriginResolutionImageGeom> simpl_py_SetOriginResolutionImageGeom = declareSetOriginResolutionImageGeom(mod, simpl_py_AbstractFilter);
PySharedPtrClass<WriteASCIIData> simpl_py_WriteASCIIData = declareWriteASCIIData(mod, simpl_py_AbstractFilter);
PySharedPtrClass<WriteTriangleGeometry> simpl_py_WriteTriangleGeometry = declareWriteTriangleGeometry(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ArraySelectionExample> simpl_py_ArraySelectionExample = declareArraySelectionExample(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ChangeGlobalValue> simpl_py_ChangeGlobalValue = declareChangeGlobalValue(mod, simpl_py_AbstractFilter);
PySharedPtrClass<DynamicTableExample> simpl_py_DynamicTableExample = declareDynamicTableExample(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ErrorWarningFilter> simpl_py_ErrorWarningFilter = declareErrorWarningFilter(mod, simpl_py_AbstractFilter);
PySharedPtrClass<GenericExample> simpl_py_GenericExample = declareGenericExample(mod, simpl_py_AbstractFilter);
PySharedPtrClass<MakeDataContainer> simpl_py_MakeDataContainer = declareMakeDataContainer(mod, simpl_py_AbstractFilter);
PySharedPtrClass<ThresholdExample> simpl_py_ThresholdExample = declareThresholdExample(mod, simpl_py_AbstractFilter);
PySharedPtrClass<IDataArray> simpl_py_IDataArray = declareIDataArray(mod);
PySharedPtrClass<AttributeMatrix> simpl_py_AttributeMatrix = declareAttributeMatrix(mod);
PySharedPtrClass<DataArrayPath> simpl_py_DataArrayPath = declareDataArrayPath(mod);
PySharedPtrClass<DataContainer> simpl_py_DataContainer = declareDataContainer(mod);
PySharedPtrClass<DataContainerArray> simpl_py_DataContainerArray = declareDataContainerArray(mod);
PySharedPtrClass<DataContainerArrayProxy> simpl_py_DataContainerArrayProxy = declareDataContainerArrayProxy(mod);
PySharedPtrClass<FilterPipeline> simpl_py_FilterPipeline = declareFilterPipeline(mod);
PySharedPtrClass<IGeometry> simpl_py_IGeometry = declareIGeometry(mod);
PySharedPtrClass<IGeometryGrid> simpl_py_IGeometryGrid = declareIGeometryGrid(mod, simpl_py_IGeometry);
PySharedPtrClass<ImageGeom> simpl_py_ImageGeom = declareImageGeom(mod, simpl_py_IGeometryGrid);
PySharedPtrClass<SIMPLH5DataReader> simpl_py_SIMPLH5DataReader = declareSIMPLH5DataReader(mod);
PySharedPtrClass<SIMPLH5DataReaderRequirements> simpl_py_SIMPLH5DataReaderRequirements = declareSIMPLH5DataReaderRequirements(mod);
/* Init codes for the DataArray<T> classes */
PySharedPtrClass<Int8ArrayType> simpl_py_Int8ArrayType = declareInt8ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<UInt8ArrayType> simpl_py_UInt8ArrayType = declareUInt8ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<Int16ArrayType> simpl_py_Int16ArrayType = declareInt16ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<UInt16ArrayType> simpl_py_UInt16ArrayType = declareUInt16ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<Int32ArrayType> simpl_py_Int32ArrayType = declareInt32ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<UInt32ArrayType> simpl_py_UInt32ArrayType = declareUInt32ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<Int64ArrayType> simpl_py_Int64ArrayType = declareInt64ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<UInt64ArrayType> simpl_py_UInt64ArrayType = declareUInt64ArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<FloatArrayType> simpl_py_FloatArrayType = declareFloatArrayType(mod, simpl_py_IDataArray);
PySharedPtrClass<DoubleArrayType> simpl_py_DoubleArrayType = declareDoubleArrayType(mod, simpl_py_IDataArray);
py::enum_<SIMPL::InfoStringFormat>(mod, "InfoStringFormat").value("HtmlFormat", SIMPL::InfoStringFormat::HtmlFormat).value("UnknownFormat", SIMPL::InfoStringFormat::UnknownFormat).export_values();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment