...
 
Commits (6)
......@@ -60,7 +60,7 @@ function(smtk_add_header_test name dir_prefix)
PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
#also link against moab so we build properly
target_link_libraries(TestBuild_${name}
PRIVATE MOAB)
PRIVATE ${MOAB_LIBRARIES})
endfunction(smtk_add_header_test)
......
......@@ -84,6 +84,12 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
################################################################################
# Options that the user controls
################################################################################
option(CONDA_BUILD "Building using conda environment instead of system" OFF)
if (CONDA_BUILD)
include(conda/Conda.cmake)
endif()
include(CMakeDependentOption)
option(BUILD_SHARED_LIBS "Build SMTK using shared libraries" ON)
option(SMTK_NO_SYSTEM_BOOST "Allow boost to search for system installed boost" ON)
......@@ -117,8 +123,9 @@ cmake_dependent_option(SMTK_ENABLE_DISCRETE_SESSION "Build discrete model sessio
SMTK_ENABLE_VTK_SUPPORT OFF)
cmake_dependent_option(SMTK_ENABLE_MOAB_DISCRETE_READER "Build moab reader for discrete model" OFF
"SMTK_ENABLE_DISCRETE_SESSION" OFF)
cmake_dependent_option(SMTK_ENABLE_POLYGON_SESSION "Build Boost.polygon model session." ON
SMTK_ENABLE_VTK_SUPPORT OFF)
# cmake_dependent_option(SMTK_ENABLE_POLYGON_SESSION "Build Boost.polygon model session." ON
# SMTK_ENABLE_VTK_SUPPORT OFF)
option(SMTK_ENABLE_POLYGON_SESSION "Build Boost.polygon model session." ON)
cmake_dependent_option(SMTK_ENABLE_VTK_SESSION "Build a session that uses VTK multiblock datasets" ON
SMTK_ENABLE_VTK_SUPPORT OFF)
option(SMTK_ENABLE_MESH_SESSION
......@@ -247,7 +254,7 @@ endif()
# build machine without any issues. If this not desired, simply specify
# CMAKE_INSTALL_RPATH_USE_LINK_PATH when configuring and "make install" will
# strip all rpaths, which is default behavior.
if (NOT CMAKE_INSTALL_RPATH_USE_LINK_PATH)
if (NOT CMAKE_INSTALL_RPATH_USE_LINK_PATH AND NOT CONDA_BUILD)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
endif ()
......@@ -262,6 +269,9 @@ find_package(nlohmann_json REQUIRED)
# Moab is required for building smtk::mesh, as it is the default storage
# format for meshes.
if (CONDA_BUILD)
set(MOAB_ROOT_DIR "${conda_root}/lib/cmake/MOAB")
endif()
find_package(MOAB REQUIRED)
......@@ -327,8 +337,32 @@ add_subdirectory(thirdparty)
# Wrapping Related Settings
################################################################################
if(SMTK_ENABLE_PYTHON_WRAPPING)
find_package(PythonLibs REQUIRED)
find_package(PythonInterp 2.7 REQUIRED)
if(WIN32)
set(PYTHON_MODULE_EXTENSION ".pyd")
else()
set(PYTHON_MODULE_EXTENSION ".so")
endif()
if (CONDA_BUILD)
# Todo get python version from conda ("conda list python")
set(py_version "2.7")
set(PYTHONLIBS_VERSION_STRING "${py_version}")
set(PYTHON_LIBRARIES "${conda_root}/lib/libpython${py_version}${PYTHON_MODULE_EXTENSION}")
set(PYTHON_INCLUDE_DIRS "${conda_root}/include/python${py_version}")
set(PYTHONLIBS_FOUND true)
set(PYTHON_EXECUTABLE "${conda_root}/bin/python${py_version}")
set(PYTHONINTERP_FOUND true)
set(SMTK_PYTHON_MODULEDIR "${conda_root}/lib/python${py_version}/site-packages")
else()
find_package(PythonLibs REQUIRED)
find_package(PythonInterp 2.7 REQUIRED)
endif()
message("PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE}")
message("PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS}")
message("PYTHON_LIBRARIES ${PYTHON_LIBRARIES}")
# Initialize SMTK_PYTHON_MODULEDIR.
# This stores the location where we'll install SMTK's Python modules.
......@@ -352,22 +386,21 @@ if(SMTK_ENABLE_PYTHON_WRAPPING)
endif()
if(SMTK_ENABLE_PYTHON_WRAPPING)
if(WIN32)
set(PYTHON_MODULE_EXTENSION ".pyd")
else()
set(PYTHON_MODULE_EXTENSION ".so")
endif()
set(PYTHON_MODULE_PREFIX "")
set(PYTHON_MODULE_PREFIX "")
if (CONDA_BUILD)
# pybind11 version 2.3 not currently available from conda-forge
find_package(pybind11 REQUIRED)
else()
find_package(pybind11 2.3 REQUIRED)
endif()
set(SMTK_PYBIND11_FLAGS " ")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR
CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set(SMTK_PYBIND11_FLAGS "${SMTK_PYBIND11_FLAGS} -Wno-shadow")
endif()
set(SMTK_PYBIND11_FLAGS " ")
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR
CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR
CMAKE_CXX_COMPILER_ID MATCHES "Intel")
set(SMTK_PYBIND11_FLAGS "${SMTK_PYBIND11_FLAGS} -Wno-shadow")
endif()
message("SMTK_PYTHON_MODULEDIR ${SMTK_PYTHON_MODULEDIR}")
# Set up environment variables needed to import the python modules for tests.
......
Building in Conda Environment
=============================
A set of smtk modules can be built from a conda environment:
smtk.attribute
smtk.common
smtk.io
smtk.mesh
smtk.model
smtk.operation
smtk.resource
smtk.session.mesh
smtk.session.polygon
smtk.simulation
Conda Setup
-----------
These packages are needed in the conda environment.
cmake (install this first?)
make (install second?)
python=2.7
gcc_linux-64
gxx_linux-64
boost
moab (conda-forge) (install this *AFTER* nlohmann_json)
nlohmann_json (conda-forge)
pybind11
Note about moab: Strange as this seems, it appears that installing nlohmann_json blows
away the cmake config file for moab in the conda environment
(/lib/cmake/MOAB/MOABConfig.cmake). When that happens, the only known workaround is to
uninstall moab then install it a second time.
For linux builds, there is a spec file in the "conda" directory: conda-spec-file-linux64.txt.
**Use the conda environment for all cmake and build steps.**
CMake
-----
When you run CMake the first time, set the CONDA_BUILD option, for example:
cmake -DCONDA_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=${path-to-smtk-source}/conda/CondaToolchain.cmake ${path-to-smtk-source}
When cmake is run, the output messages include a line starting with the text
"Using conda environment ...". Make sure the path in that message points to your
conda environment root folder.
The cmake scripts also write out out a number of python variables:
PYTHON_EXECUTABLE
PYTHON_INCLUDE_DIRS
PYTHON_LIBRARIES
Check the cmake output to make sure these variables point to the correct place in your
conda environment.
If the python info is correct, you can proceed to use make or ninja to build the modules.
CTest
-----
The conda build generates 100+ tests, 41 of which use python. To run the python tests:
ctest -R Py
As of 22-Sep-2018, 1 python test is skipped and 3 python tests fail with hard crashes:
The following tests did not run:
143 - polygonForceCreateFacePy (Skipped)
The following tests FAILED:
101 - cellFieldPy (Child aborted)
102 - meshMetricsPy (Child aborted)
152 - loadExodusFilePy (Child aborted)
Other Notes
-----------
As implied by the conda package list above, the conda build is currently limited to python 2.7.
In the polygon session, the Import and ExtractContour classes are not included,
because they are dependent on VTK, which is not included in smtk-conda.
set(conda_root "$ENV{CONDA_PREFIX}")
message("conda_root ${conda_root}")
if (conda_root)
message("Using conda environment ${conda_root}")
else()
message(FATAL_ERROR "CONDA_PREFIX not found. The conda environment must be set.")
endif()
set(Boost_NO_SYSTEM_PATHS ON CACHE BOOL "Initial cache")
set(Boost_NO_BOOST_CMAKE ON CACHE BOOL "Initial cache")
set(BOOST_INCLUDEDIR "${conda_root}/include" CACHE PATH "Initial cache")
set(BOOST_LIBRARYDIR "${conda_root}/lib" CACHE PATH "Initial cache")
set(SMTK_ENABLE_EXODUS_SESSION OFF CACHE BOOL "Initial cache")
set(SMTK_ENABLE_MESH_SESSION ON CACHE BOOL "Initial cache")
set(SMTK_ENABLE_POLYGON_SESSION ON CACHE BOOL "Initial cache")
set(SMTK_ENABLE_VTK_SUPPORT OFF CACHE BOOL "Initial cache")
# Ignore problems linking executable tests
set(SMTK_ENABLE_TESTING OFF CACHE BOOL "Initial cache")
set(SMTK_ENABLE_PYTHON_WRAPPING ON CACHE BOOL "Initial cache")
# Override default CMAKE_INSTALL_PREFIX
if (IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
#message("IS_ABSOLUTE")
if (conda_root)
# Developer build
set(CMAKE_INSTALL_PREFIX ${conda_root} CACHE PATH "Reset cache" FORCE)
elseif (NOT ${CMAKE_INSTALL_PREFIX})
# Package build
set(CMAKE_INSTALL_PREFIX "install" CACHE PATH "Reset cache" FORCE)
endif()
message("Set CMAKE_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}")
endif()
# set(isabs IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
# message("Before CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}, ISABS: ${isabs}")
# if (NOT CMAKE_INSTALL_PREFIX OR IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
# endif()
message("After CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/CondaToolchain.cmake" CACHE PATH "Initial cache")
set(conda_root "$ENV{CONDA_PREFIX}")
message("conda_root ${conda_root}")
set(CMAKE_SYSTEM_NAME "${CMAKE_HOST_SYSTEM_NAME}")
#message("CMAKE_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}")
set(CMAKE_SYSROOT "${conda_root}/$ENV{HOST}/sysroot")
#message("CMAKE_SYSROOT ${CMAKE_SYSROOT}")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE NEVER)
#!/bin/bash
# Side note: need to add conda-forge to the set of archives
# From root directory:
# > conda build conda/meta.yaml -c defaults -c conda-forge
cmake \
-DCONDA_BUILD=ON \
-DSMTK_ENABLE_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
"${SRC_DIR}"
make -j"${CPU_COUNT}"
make install
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: linux-64
@EXPLICIT
https://repo.anaconda.com/pkgs/main/linux-64/binutils_impl_linux-64-2.31.1-h6176602_1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/ca-certificates-2018.03.07-0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/intel-openmp-2019.0-118.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libgcc-ng-8.2.0-hdf63c60_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/libgfortran-3.0.0-1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libgfortran-ng-7.3.0-hdf63c60_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libstdcxx-ng-8.2.0-hdf63c60_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/mpi-1.0-mpich.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/nlohmann_json-3.1.2-hf484d3e_0.tar.bz2
https://repo.anaconda.com/pkgs/free/linux-64/system-5.8-2.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/binutils_linux-64-2.31.1-h6176602_3.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/bzip2-1.0.6-h14c3975_5.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/expat-2.2.6-he6710b0_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/gcc_impl_linux-64-7.3.0-habb00fd_1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/icu-58.2-h9c2bf20_1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libffi-3.2.1-hd88cf55_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libopenblas-0.3.3-h5a2b251_3.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/make-4.2.1-h1bed415_1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/mkl-2019.0-118.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/mpich-3.2.1-h26a2512_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/ncurses-6.1-hf484d3e_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/openblas-0.2.20-8.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/openssl-1.0.2p-h14c3975_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/xz-5.2.4-h14c3975_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/zlib-1.2.11-ha838bed_2.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/blas-1.1-openblas.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/gcc_linux-64-7.3.0-h553295d_3.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/gxx_impl_linux-64-7.3.0-hdf63c60_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/hdf5-1.10.2-hc401514_2.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libboost-1.67.0-h46d08c1_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libedit-3.1.20170329-h6b74fdf_2.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libssh2-1.8.0-h9cfc8f7_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/readline-7.0-h7b6447c_5.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/rhash-1.3.6-hb7f436b_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/tk-8.6.8-hbc83047_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/gxx_linux-64-7.3.0-h553295d_3.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/libcurl-7.61.0-h1ad7b7a_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/moab-5.0.2-hb5afca1_3.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/sqlite-3.24.0-h84994c4_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/cmake-3.12.2-h52cb24c_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/python-2.7.15-h1571d57_0.tar.bz2
https://repo.anaconda.com/pkgs/main/linux-64/certifi-2018.8.24-py27_1.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/numpy-1.15.1-py27_blas_openblashd3ea46f_1.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/numpy-base-1.15.1-py27h2f8d375_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/pybind11-2.2.3-py27hfd86e86_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/mkl_fft-1.0.6-py27_0.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/mkl_random-1.0.1-py27_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/py-boost-1.67.0-py27h04863e7_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/setuptools-40.2.0-py27_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/boost-1.67.0-py27_4.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/wheel-0.31.1-py27_0.tar.bz2
https://repo.continuum.io/pkgs/main/linux-64/pip-10.0.1-py27_0.tar.bz2
name: smtk-conda
channels:
- conda-forge
- defaults
dependencies:
- blas=1.1=openblas
- hdf5=1.10.2=hc401514_2
- libgfortran=3.0.0=1
- mkl_fft=1.0.6=py27_0
- mkl_random=1.0.1=py27_0
- moab=5.0.2=hb5afca1_3
- mpi=1.0=mpich
- mpich=3.2.1=h26a2512_4
- nlohmann_json=3.1.2=hf484d3e_0
- numpy=1.15.1=py27_blas_openblashd3ea46f_1
- openblas=0.2.20=8
- binutils_impl_linux-64=2.31.1=h6176602_1
- binutils_linux-64=2.31.1=h6176602_3
- boost=1.67.0=py27_4
- bzip2=1.0.6=h14c3975_5
- ca-certificates=2018.03.07=0
- certifi=2018.8.24=py27_1
- cmake=3.12.2=h52cb24c_0
- expat=2.2.6=he6710b0_0
- gcc_impl_linux-64=7.3.0=habb00fd_1
- gcc_linux-64=7.3.0=h553295d_3
- gxx_impl_linux-64=7.3.0=hdf63c60_1
- gxx_linux-64=7.3.0=h553295d_3
- icu=58.2=h9c2bf20_1
- intel-openmp=2019.0=118
- libboost=1.67.0=h46d08c1_4
- libcurl=7.61.0=h1ad7b7a_0
- libedit=3.1.20170329=h6b74fdf_2
- libffi=3.2.1=hd88cf55_4
- libgcc-ng=8.2.0=hdf63c60_1
- libgfortran-ng=7.3.0=hdf63c60_0
- libopenblas=0.3.3=h5a2b251_3
- libssh2=1.8.0=h9cfc8f7_4
- libstdcxx-ng=8.2.0=hdf63c60_1
- make=4.2.1=h1bed415_1
- mkl=2019.0=118
- ncurses=6.1=hf484d3e_0
- numpy-base=1.15.1=py27h2f8d375_0
- openssl=1.0.2p=h14c3975_0
- pip=10.0.1=py27_0
- py-boost=1.67.0=py27h04863e7_4
- pybind11=2.2.3=py27hfd86e86_0
- python=2.7.15=h1571d57_0
- readline=7.0=h7b6447c_5
- rhash=1.3.6=hb7f436b_0
- setuptools=40.2.0=py27_0
- sqlite=3.24.0=h84994c4_0
- system=5.8=2
- tk=8.6.8=hbc83047_0
- wheel=0.31.1=py27_0
- xz=5.2.4=h14c3975_4
- zlib=1.2.11=ha838bed_2
package:
name: smtk
version: "3.0.0conda"
source:
git_rev: conda-py2
git_url: https://gitlab.kitware.com/john.tourtellott/smtk.git
requirements:
host:
- python=2.7
build:
- {{ compiler('cxx') }}
- git
- cmake
- make
- boost
- nlohmann_json
- moab
- pybind11
- python=2.7
run:
- boost
- moab
- nlohmann_json
- python=2.7
about:
home: https://gitlab.kitware.com/cmb/smtk
license: BSD
license_file: LICENSE.txt
......@@ -69,7 +69,7 @@ set(smtkCore_private_include_directories
set(smtkCore_public_link_libraries
cJSON
MOAB
${MOAB_LIBRARIES}
nlohmann_json
)
......
......@@ -37,6 +37,7 @@ def test_create_cell_field():
str(smtk.common.UUID.random()) + ".h5m")
smtk.io.exportMesh(write_path, c)
print 'Wrote write_path', os.path.abspath(write_path)
return write_path
......@@ -49,6 +50,9 @@ def test_read_cell_field(mesh_path):
raise RuntimeError("Failed to read back valid mesh")
mesh = c.meshes()
print 'points.size():', mesh.points().size()
print 'cells.size():', mesh.cells().size()
# Next line crashes
cellfields = mesh.cellFields()
if not cellfields:
......
......@@ -8,9 +8,15 @@ set(smtkModelPythonTests
set(smtkModelPythonDataTests
modelAttributes
modelSetPropertyOp
modelCloseModelOp
)
if (SMTK_ENABLE_DISCRETE_SESSION)
set(smtkModelPythonDataTests
${smtkModelPythonDataTests}
modelCloseModelOp
)
endif()
if (SMTK_ENABLE_POLYGON_SESSION)
set(smtkModelPythonDataTests
${smtkModelPythonDataTests}
......
......@@ -23,7 +23,7 @@
#include "smtk/session/polygon/operators/DemoteVertex.h"
#include "smtk/session/polygon/operators/ExtractContours.h"
#include "smtk/session/polygon/operators/ForceCreateFace.h"
#include "smtk/session/polygon/operators/Import.h"
//#include "smtk/session/polygon/operators/Import.h"
#include "smtk/session/polygon/operators/LegacyRead.h"
#include "smtk/session/polygon/operators/Read.h"
#include "smtk/session/polygon/operators/SplitEdge.h"
......@@ -33,7 +33,7 @@
#include "smtk/session/polygon/Resource.h"
#include "smtk/operation/groups/CreatorGroup.h"
#include "smtk/operation/groups/ImporterGroup.h"
//#include "smtk/operation/groups/ImporterGroup.h"
#include "smtk/operation/groups/ReaderGroup.h"
#include "smtk/operation/groups/WriterGroup.h"
......@@ -48,7 +48,7 @@ namespace
{
typedef std::tuple<CleanGeometry, CreateEdge, CreateEdgeFromPoints, CreateEdgeFromVertices,
CreateFaces, CreateFacesFromEdges, CreateModel, CreateVertices, Delete, DemoteVertex,
ExtractContours, ForceCreateFace, Import, LegacyRead, Read, SplitEdge, TweakEdge, Write>
ExtractContours, ForceCreateFace, LegacyRead, Read, SplitEdge, TweakEdge, Write>
OperationList;
}
......@@ -65,8 +65,8 @@ void Registrar::registerTo(const smtk::operation::Manager::Ptr& operationManager
smtk::operation::CreatorGroup(operationManager)
.registerOperation<smtk::session::polygon::Resource, smtk::session::polygon::CreateModel>();
smtk::operation::ImporterGroup(operationManager)
.registerOperation<smtk::session::polygon::Resource, smtk::session::polygon::Import>();
// smtk::operation::ImporterGroup(operationManager)
// .registerOperation<smtk::session::polygon::Resource, smtk::session::polygon::Import>();
smtk::operation::ReaderGroup(operationManager)
.registerOperation<smtk::session::polygon::Resource, smtk::session::polygon::Read>();
......
......@@ -37,9 +37,9 @@ using PySharedPtrClass = py::class_<T, std::shared_ptr<T>, Args...>;
#include "PybindCreateVertices.h"
#include "PybindDelete.h"
#include "PybindDemoteVertex.h"
#include "PybindExtractContours.h"
//#include "PybindExtractContours.h"
#include "PybindForceCreateFace.h"
#include "PybindImport.h"
//#include "PybindImport.h"
#include "PybindRead.h"
#include "PybindLegacyRead.h"
#include "PybindSplitEdge.h"
......@@ -69,9 +69,9 @@ PYBIND11_MODULE(_smtkPybindPolygonSession, polygon)
PySharedPtrClass< smtk::session::polygon::CreateVertices > smtk_session_polygon_CreateVertices = pybind11_init_smtk_session_polygon_CreateVertices(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::Delete > smtk_session_polygon_Delete = pybind11_init_smtk_session_polygon_Delete(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::DemoteVertex > smtk_session_polygon_DemoteVertex = pybind11_init_smtk_session_polygon_DemoteVertex(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::ExtractContours > smtk_session_polygon_ExtractContours = pybind11_init_smtk_session_polygon_ExtractContours(polygon, smtk_session_polygon_Operation);
//PySharedPtrClass< smtk::session::polygon::ExtractContours > smtk_session_polygon_ExtractContours = pybind11_init_smtk_session_polygon_ExtractContours(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::ForceCreateFace > smtk_session_polygon_ForceCreateFace = pybind11_init_smtk_session_polygon_ForceCreateFace(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::Import > smtk_session_polygon_Import = pybind11_init_smtk_session_polygon_Import(polygon, smtk_session_polygon_Operation);
//PySharedPtrClass< smtk::session::polygon::Import > smtk_session_polygon_Import = pybind11_init_smtk_session_polygon_Import(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::Read > smtk_session_polygon_Read = pybind11_init_smtk_session_polygon_Read(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::LegacyRead > smtk_session_polygon_LegacyRead = pybind11_init_smtk_session_polygon_LegacyRead(polygon, smtk_session_polygon_Operation);
PySharedPtrClass< smtk::session::polygon::SplitEdge > smtk_session_polygon_SplitEdge = pybind11_init_smtk_session_polygon_SplitEdge(polygon, smtk_session_polygon_Operation);
......