Git Product home page Git Product logo

mesh's Introduction

Build Status

Perceiving Systems Mesh Package

This package contains core functions for manipulating meshes and visualizing them. It requires Python 3.5+ and is supported on Linux and macOS operating systems.

The Mesh processing libraries support several of our projects such as

Requirements

You first need to install the Boost <http://www.boost.org>_ libraries. You can compile your own local version or simply do on Linux

$ sudo apt-get install libboost-dev

or on macOS

$ brew install boost

Installation

First, create a dedicated Python virtual environment and activate it:

$ python3 -m venv --copies my_venv
$ source my_venv/bin/activate

You should then compile and install the psbody-mesh package easily using the Makefile:

$ BOOST_INCLUDE_DIRS=/path/to/boost/include make all

Testing

To run the tests, simply do:

$ make tests

Documentation

A detailed documentation can be compiled using the Makefile:

$ make documentation

Viewing the Meshes

Starting from version 0.4 meshviewer ships with meshviewer -- a program that allows you to display polygonal meshes produced by mesh package.

Viewing a mesh on a local machine

The most straightforward use-case is viewing the mesh on the same machine where it is stored. To do this simply run

$ meshviewer view sphere.obj

This will create an interactive window with your mesh rendering. You can render more than one mesh in the same window by passing several paths to view command

$ meshviewer view sphere.obj cylinder.obj

This will arrange the subplots horizontally in a row. If you want a grid arrangement, you can specify the grid parameters explicitly

$ meshviewer view -nx 2 -ny 2 *.obj

Viewing a mesh from a remote machine

It is also possible to view a mesh stored on a remote machine. To do this you need mesh to be installed on both the local and the remote machines. You start by opening an empty viewer window listening on a network port

(local) $ meshviewer open --port 3000

To stream a shape to this viewer you have to either pick a port that is visible from the remote machine or by manually exposing the port when connecting. For example, through SSH port forwarding

(local) $ ssh -R 3000:127.0.0.1:3000 user@host

Then on a remote machine you use view command pointing to the locally forwarded port

(remote) $ meshviewer view -p 3000 sphere.obj

This should display the remote mesh on your local viewer. In case it does not it might be caused by the network connection being closed before the mesh could be sent. To work around this one can try increasing the timeout up to 1 second

(remote) $ meshviewer view -p 3000 --timeout 1 sphere.obj

To take a snapshot you should locally run a snap command

(local) $ meshviewer snap -p 3000 sphere.png

License

Please refer for LICENSE.txt for using this software. The software is compiled using CGAL sources following the license in CGAL_LICENSE.pdf

Acknowledgments

We thank the external contribution from the following people:

mesh's People

Contributors

anuragranj avatar dawars avatar ioreshnikov avatar jcpassy avatar k-chaney avatar timobolkart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mesh's Issues

Can't build on apple Mojave

I've set the boost root and CFLAGS="-mmacosx-version-min=10.7 -stdlib=libc++" like other issues found they needed but now I have numpy based issues.

The first issue is:

    mesh/src/aabb_normals.cpp:35:27: error: variable has incomplete type 'struct PyModuleDef'
    static struct PyModuleDef moduleDef =

I tried to solve this by adding #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION as there were warnings about that. And ended up with a bunch of errors like:

mesh/src/aabb_normals.cpp:160:58: error: no matching function for call to 'PyArray_DATA'
            closest_point=reinterpret_cast<array<double,3>*>(PyArray_DATA(result2));
                                                             ^~~~~~~~~~~~
    /Users/me/anaconda2/envs/voca/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1476:1: note: candidate function not viable: no known conversion from 'PyObject *' (aka '_object *') to 'PyArrayObject *' (aka 'tagPyArrayObject *')

how to close the mesh viewer window

I tried to take snapshots of a number of obj files, so I use a loop in my script.
I add mv.close (where mv is MeshViewer) at the end but there are more and more viewer windows when the program running.

for fname in .....
target_mesh = Mesh(filename=fname)
mv = target_mesh.show()
mv.save_snapshot(os.path.join(imgfolder, snapshot_name))
mv.close

How to actually close the windows while it loops and avoid too many active windows at the same time?

fatal error: boost/config.hpp

Hi,

Following the installation instructions, I strumble upon an error (fatal error: boost/config.hpp) when calling make

locate boost/config.hpp outputs

/home/oliviern/Software/anaconda2/pkgs/libboost-1.65.1-habcd387_4/include/boost/config.hpp
/home/oliviern/Software/anaconda3/envs/coma/include/boost/config.hpp
/home/oliviern/Software/anaconda3/pkgs/libboost-1.67.0-h46d08c1_4/include/boost/config.hpp
/usr/include/boost/config.hpp
/usr/local/cuda-10.1/samples/6_Advanced/interval/boost/config.hpp
/usr/local/cuda-8.0/samples/6_Advanced/interval/boost/config.hpp

echo $BOOST_ROOT outputs
/usr/include/boost

What could explain this behavior ?

I have no issue compiling with g++ test.cpp a test.cpp file containing

#include <boost/config.hpp>
#include <iostream>
int main() {
	std::cout << "test" << std::endl;
}

Here is the full error :

\033[0;36m
********
********
******** mesh_package : Building the virtualenv for installation
********
********
\033[0m
Running virtualenv with interpreter /home/username/Software/anaconda3/envs/facet/bin/python2
New python executable in /home/username/Software/mesh/temporary_test/venv/bin/python2
Not overwriting existing python script /home/username/Software/mesh/temporary_test/venv/bin/python (you must use /home/username/Software/mesh/temporary_test/venv/bin/python2)
Installing setuptools, pkg_resources, pip, wheel...done.
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: pip in ./temporary_test/venv/lib/python2.7/site-packages (19.2.3)
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: virtualenv in ./temporary_test/venv/lib/python2.7/site-packages (16.7.5)
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: nose2 in ./temporary_test/venv/lib/python2.7/site-packages (0.9.1)
Requirement already satisfied: coverage>=4.4.1 in ./temporary_test/venv/lib/python2.7/site-packages (from nose2) (4.5.4)
Requirement already satisfied: mock==2.0.0; python_version < "3.6" in ./temporary_test/venv/lib/python2.7/site-packages (from nose2) (2.0.0)
Requirement already satisfied: six>=1.7 in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (from nose2) (1.12.0)
Requirement already satisfied: funcsigs>=1; python_version < "3.3" in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (from mock==2.0.0; python_version < "3.6"->nose2) (1.0.2)
Requirement already satisfied: pbr>=0.11 in ./temporary_test/venv/lib/python2.7/site-packages (from mock==2.0.0; python_version < "3.6"->nose2) (5.4.3)
/home/username/Software/mesh/temporary_test/venv/bin/pip
pip 19.2.3 from /home/username/Software/mesh/temporary_test/venv/lib/python2.7/site-packages/pip (python 2.7)
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: setuptools in ./temporary_test/venv/lib/python2.7/site-packages (41.2.0)
/home/username/Software/mesh/temporary_test/venv/bin/pip
pip 19.2.3 from /home/username/Software/mesh/temporary_test/venv/lib/python2.7/site-packages/pip (python 2.7)
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: wheel in ./temporary_test/venv/lib/python2.7/site-packages (0.33.6)
/home/username/Software/mesh/temporary_test/venv/bin/pip
pip 19.2.3 from /home/username/Software/mesh/temporary_test/venv/lib/python2.7/site-packages/pip (python 2.7)
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: numpy in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (1.15.4)
Requirement already satisfied: scipy in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (0.19.1)
Requirement already satisfied: pyopengl in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (3.1.0)
Requirement already satisfied: pillow in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (4.2.1)
Requirement already satisfied: pyzmq in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (17.1.2)
Requirement already satisfied: pyyaml in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (3.13)
Requirement already satisfied: olefile in /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages (from pillow) (0.46)
/home/username/Software/mesh/temporary_test/venv/bin/pip
pip 19.2.3 from /home/username/Software/mesh/temporary_test/venv/lib/python2.7/site-packages/pip (python 2.7)
####### PACKAGE: creating SDIST target
\033[0;33m----- [ mesh_package ] Creating the source distribution\033[0m
[VERSION] read version is 0.1
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
[SDIST] file list is:
[SDIST] 	"setup.py"
[SDIST] 	"mesh/__init__.py"
[SDIST] 	"mesh/arcball.py"
[SDIST] 	"mesh/colors.py"
[SDIST] 	"mesh/errors.py"
[SDIST] 	"mesh/fonts.py"
[SDIST] 	"mesh/landmarks.py"
[SDIST] 	"mesh/lines.py"
[SDIST] 	"mesh/mesh.py"
[SDIST] 	"mesh/meshviewer.py"
[SDIST] 	"mesh/processing.py"
[SDIST] 	"mesh/search.py"
[SDIST] 	"mesh/sphere.py"
[SDIST] 	"mesh/texture.py"
[SDIST] 	"mesh/utils.py"
[SDIST] 	"mesh/version.py"
[SDIST] 	"mesh/geometry/__init__.py"
[SDIST] 	"mesh/geometry/barycentric_coordinates_of_projection.py"
[SDIST] 	"mesh/geometry/cross_product.py"
[SDIST] 	"mesh/geometry/rodrigues.py"
[SDIST] 	"mesh/geometry/tri_normals.py"
[SDIST] 	"mesh/geometry/triangle_area.py"
[SDIST] 	"mesh/geometry/vert_normals.py"
[SDIST] 	"mesh/serialization/__init__.py"
[SDIST] 	"mesh/serialization/serialization.py"
[SDIST] 	"mesh/src/aabb_normals.cpp"
[SDIST] 	"mesh/src/plyutils.c"
[SDIST] 	"mesh/src/py_loadobj.cpp"
[SDIST] 	"mesh/src/py_visibility.cpp"
[SDIST] 	"mesh/src/rply.c"
[SDIST] 	"mesh/src/spatialsearchmodule.cpp"
[SDIST] 	"mesh/src/visibility.cpp"
[SDIST] 	"mesh/topology/__init__.py"
[SDIST] 	"mesh/topology/connectivity.py"
[SDIST] 	"mesh/topology/decimation.py"
[SDIST] 	"mesh/topology/linear_mesh_transform.py"
[SDIST] 	"mesh/topology/subdivision.py"
[SDIST] 	"psbody-mesh-namespace/__init__.py"
[SDIST] 	"mesh/thirdparty/CGAL-4.7.tar.gz"
[SDIST] 	"tests/test_aabb_n_tree.py"
[SDIST] 	"tests/unittest_extensions.py"
[SDIST] 	"tests/test_topology.py"
[SDIST] 	"tests/test_arcball.py"
[SDIST] 	"tests/test_visibility.py"
[SDIST] 	"tests/__init__.py"
[SDIST] 	"tests/test_meshviewer.py"
[SDIST] 	"tests/test_geometry.py"
[SDIST] 	"tests/test_mesh.py"
[SDIST] 	"tests/test_spheres.py"
creating psbody-mesh-0.1
creating psbody-mesh-0.1/mesh
creating psbody-mesh-0.1/mesh/geometry
creating psbody-mesh-0.1/mesh/serialization
creating psbody-mesh-0.1/mesh/src
creating psbody-mesh-0.1/mesh/thirdparty
creating psbody-mesh-0.1/mesh/topology
creating psbody-mesh-0.1/psbody-mesh-namespace
creating psbody-mesh-0.1/tests
making hard links in psbody-mesh-0.1...
hard linking setup.py -> psbody-mesh-0.1
hard linking mesh/__init__.py -> psbody-mesh-0.1/mesh
hard linking mesh/arcball.py -> psbody-mesh-0.1/mesh
hard linking mesh/colors.py -> psbody-mesh-0.1/mesh
hard linking mesh/errors.py -> psbody-mesh-0.1/mesh
hard linking mesh/fonts.py -> psbody-mesh-0.1/mesh
hard linking mesh/landmarks.py -> psbody-mesh-0.1/mesh
hard linking mesh/lines.py -> psbody-mesh-0.1/mesh
hard linking mesh/mesh.py -> psbody-mesh-0.1/mesh
hard linking mesh/meshviewer.py -> psbody-mesh-0.1/mesh
hard linking mesh/processing.py -> psbody-mesh-0.1/mesh
hard linking mesh/search.py -> psbody-mesh-0.1/mesh
hard linking mesh/sphere.py -> psbody-mesh-0.1/mesh
hard linking mesh/texture.py -> psbody-mesh-0.1/mesh
hard linking mesh/utils.py -> psbody-mesh-0.1/mesh
hard linking mesh/version.py -> psbody-mesh-0.1/mesh
hard linking mesh/geometry/__init__.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/barycentric_coordinates_of_projection.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/cross_product.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/rodrigues.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/tri_normals.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/triangle_area.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/geometry/vert_normals.py -> psbody-mesh-0.1/mesh/geometry
hard linking mesh/serialization/__init__.py -> psbody-mesh-0.1/mesh/serialization
hard linking mesh/serialization/serialization.py -> psbody-mesh-0.1/mesh/serialization
hard linking mesh/src/aabb_normals.cpp -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/plyutils.c -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/py_loadobj.cpp -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/py_visibility.cpp -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/rply.c -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/spatialsearchmodule.cpp -> psbody-mesh-0.1/mesh/src
hard linking mesh/src/visibility.cpp -> psbody-mesh-0.1/mesh/src
hard linking mesh/topology/__init__.py -> psbody-mesh-0.1/mesh/topology
hard linking mesh/topology/connectivity.py -> psbody-mesh-0.1/mesh/topology
hard linking mesh/topology/decimation.py -> psbody-mesh-0.1/mesh/topology
hard linking mesh/topology/linear_mesh_transform.py -> psbody-mesh-0.1/mesh/topology
hard linking mesh/topology/subdivision.py -> psbody-mesh-0.1/mesh/topology
hard linking psbody-mesh-namespace/__init__.py -> psbody-mesh-0.1/psbody-mesh-namespace
hard linking mesh/thirdparty/CGAL-4.7.tar.gz -> psbody-mesh-0.1/mesh/thirdparty
hard linking tests/test_aabb_n_tree.py -> psbody-mesh-0.1/tests
hard linking tests/unittest_extensions.py -> psbody-mesh-0.1/tests
hard linking tests/test_topology.py -> psbody-mesh-0.1/tests
hard linking tests/test_arcball.py -> psbody-mesh-0.1/tests
hard linking tests/test_visibility.py -> psbody-mesh-0.1/tests
hard linking tests/__init__.py -> psbody-mesh-0.1/tests
hard linking tests/test_meshviewer.py -> psbody-mesh-0.1/tests
hard linking tests/test_geometry.py -> psbody-mesh-0.1/tests
hard linking tests/test_mesh.py -> psbody-mesh-0.1/tests
hard linking tests/test_spheres.py -> psbody-mesh-0.1/tests
Creating tar archive
removing 'psbody-mesh-0.1' (and everything under it)
####### PACKAGE: creating WHEEL target
\033[0;33m----- [ mesh_package ] Creating the wheel distribution\033[0m
[VERSION] read version is 0.1
running bdist_wheel
running build
running build_py
not copying psbody-mesh-namespace/__init__.py (output up-to-date)
not copying mesh/mesh.py (output up-to-date)
not copying mesh/meshviewer.py (output up-to-date)
not copying mesh/sphere.py (output up-to-date)
not copying mesh/landmarks.py (output up-to-date)
not copying mesh/errors.py (output up-to-date)
not copying mesh/colors.py (output up-to-date)
not copying mesh/fonts.py (output up-to-date)
not copying mesh/arcball.py (output up-to-date)
not copying mesh/utils.py (output up-to-date)
not copying mesh/texture.py (output up-to-date)
not copying mesh/__init__.py (output up-to-date)
not copying mesh/processing.py (output up-to-date)
not copying mesh/search.py (output up-to-date)
not copying mesh/version.py (output up-to-date)
not copying mesh/lines.py (output up-to-date)
not copying mesh/topology/linear_mesh_transform.py (output up-to-date)
not copying mesh/topology/decimation.py (output up-to-date)
not copying mesh/topology/subdivision.py (output up-to-date)
not copying mesh/topology/connectivity.py (output up-to-date)
not copying mesh/topology/__init__.py (output up-to-date)
not copying mesh/geometry/tri_normals.py (output up-to-date)
not copying mesh/geometry/cross_product.py (output up-to-date)
not copying mesh/geometry/triangle_area.py (output up-to-date)
not copying mesh/geometry/vert_normals.py (output up-to-date)
not copying mesh/geometry/barycentric_coordinates_of_projection.py (output up-to-date)
not copying mesh/geometry/__init__.py (output up-to-date)
not copying mesh/geometry/rodrigues.py (output up-to-date)
not copying mesh/serialization/serialization.py (output up-to-date)
not copying mesh/serialization/__init__.py (output up-to-date)
running build_ext
[CGAL] deflating cgal from "mesh/thirdparty/CGAL-4.7.tar.gz" to "/home/username/Software/mesh/build/temp.linux-x86_64-2.7"
building 'psbody.mesh.aabb_normals' extension
/home/username/Software/anaconda3/envs/facet/bin/x86_64-conda_cos6-linux-gnu-cc -DNDEBUG -fwrapv -O3 -Wall -Wstrict-prototypes -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -fPIC -DNDEBUG=1 -DCGAL_NDEBUG=1 -DMESH_CGAL_AVOID_COMPILED_VERSION=1 -DCGAL_HAS_NO_THREADS=1 -DCGAL_NO_AUTOLINK_CGAL=1 -Imesh/src -I/home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages/numpy/core/include -I/home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include -I/home/username/Software/anaconda3/envs/facet/include/python2.7 -c mesh/src/aabb_normals.cpp -o build/temp.linux-x86_64-2.7/mesh/src/aabb_normals.o -O3 -fopenmp
cc1plus: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
In file included from /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1823:0,
                 from /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:18,
                 from /home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4,
                 from mesh/src/aabb_normals.cpp:7:
/home/username/Software/anaconda3/envs/facet/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
 #warning "Using deprecated NumPy API, disable it by " \
  ^~~~~~~
In file included from /home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/Profile_counter.h:53:0,
                 from /home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/internal/AABB_tree/AABB_node.h:24,
                 from /home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/internal/AABB_tree/AABB_traversal_traits.h:24,
                 from /home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/AABB_tree.h:26,
                 from mesh/src/AABB_n_tree.h:12,
                 from mesh/src/aabb_normals.cpp:13:
/home/username/Software/mesh/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/config.h:85:10: fatal error: boost/config.hpp: No such file or directory
 #include <boost/config.hpp>
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
error: command '/home/username/Software/anaconda3/envs/facet/bin/x86_64-conda_cos6-linux-gnu-cc' failed with exit status 1
Makefile:48: recipe for target 'temporary_test/package_creation' failed
make: *** [temporary_test/package_creation] Error 1

About when I use the old folder for python2.7,I found it can't be used

Requirement already up-to-date: setuptools in ./temporary_test/venv/lib/python2.7/site-packages (45.0.0)
ERROR: Package 'setuptools' requires a different Python: 2.7.12 not in '>=3.5'
Makefile:48: recipe for target 'temporary_test/package_creation' failed
make: *** [temporary_test/package_creation] Error 1

the setuptools need python3.5

Obj files for tests not available

I have been hard at work to port this package to Python 3.

At the end of my endeavor, however, I came to a sudden halt, when I realized that some of the tests depend on .obj files in the data/unittest directory.
These files are nowhere in sight.

Please mend this at the earliest opportunity.

Given no hashes to check 127 links for project 'pip': discarding no candidates ####### Cleaning some artifacts ####### Touching the result

make:always found link: pip link of various version.

Successfully built psbody-mesh
Installing collected packages: psbody-mesh

Successfully installed psbody-mesh-0.1
Cleaning up...
Removed build tracker '/tmp/pip-req-tracker-hak2zb'
1 location(s) to search for versions of pip:

Found link https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl#sha256=340a0ba40fdeb16413914c0fcd8e0b4ebb0bf39a900ec80e11c05d836c05103f (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.,!=3.1.,!=3.2.,!=3.3.,!=3.4.), version: 19.2.3
Found link https://files.pythonhosted.org/packages/00/9e/4c83a0950d8bdec0b4ca72afd2f9cea92d08eb7c1a768363f2ea458d08b4/pip-19.2.3.tar.gz#sha256=e7a31f147974362e6c82d84b91c7f2bdf57e4d3163d3d454e6c3e71944d67135 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.
,!=3.1.,!=3.2.,!=3.3.,!=3.4.), version: 19.2.3
Given no hashes to check 127 links for project 'pip': discarding no candidates
####### Cleaning some artifacts
####### Touching the result

meshviewer.save_snapshot() becomes super slow in version 0.4.

Hello, I've been using the meshviewer.set_dynamic_meshes() followed by save_snapshot() to quickly render a sequence of images out of a sequence of meshes. It works well in all previous versions, but in the latest 0.4 release, it becomes super slow to save snapshots. Could you help me on that? Thanks.

Displaying a textured mesh

I have 3D textured mesh of type .obj where the texture is defined by both .mtl and .bmp
I have been trying to display the mesh using mesh.py and meshViewer.py but the texture is not overlaying. This is how I'm defining the mesh.
meshFile = Mesh(filename='/home/eman/frame0.obj')
Do I need to explicitly refer to the texture files? thanks for help

mesh.closest_points() returns nan

Hi all,

I'd like to use your closest_points function as it is fast and accurate.
However, for many meshes, it returns nan values (see sample in the attachments).
Any ideas on how to solve this or a good workaround?
Also, an alternative function would be welcome!

Thanks a lot, a great library,
Julian

Pts2MeshProblem.zip

C++ errors when installing on MacOs

Hello,
I'd like to install the library to play with the COMA project. However, I ran into some errors, and I don't manage to debug them all:

  • I first tried to install the library using python3.6, but It did not work
  • Then, I created a virual environment with python2.7. However, it seems that the "make" command still calls python3.6. I find it surprising, because when I type "python" I enter a python2 console
  • I ran into a first python error, saying that ext.include_dirs (in setup.py) should be a list of string, while it was considered as a filter object. I solving by replacing
    ext.include_dirs = filter(None, ext.include_dirs)
    by:
filtered = []  
for x in filter(None, ext.include_dirs):  
    filtered.append(x)  
ext.include_dirs = filtered
  • Now I am running into another error:
mesh/src/aabb_normals.cpp:43:12: error: use of undeclared identifier
      'Py_InitModule'
    (void) Py_InitModule("aabb_normals", SpatialsearchMethods);
           ^
mesh/src/aabb_normals.cpp:93:26: error: use of undeclared identifier
      'PyCObject_FromVoidPtr'
      PyObject* result = PyCObject_FromVoidPtr((void*)search, aabb_tree_...
                         ^
mesh/src/aabb_normals.cpp:110:40: error: use of undeclared identifier
      'PyCObject_AsVoidPtr'
    TreeAndTri *search = (TreeAndTri *)PyCObject_AsVoidPtr(py_tree);
                                       ^
mesh/src/aabb_normals.cpp:177:40: error: use of undeclared identifier
      'PyCObject_AsVoidPtr'
    TreeAndTri *search = (TreeAndTri *)PyCObject_AsVoidPtr(py_tree);
                                       ^
1 warning and 4 errors generated.
error: command 'gcc' failed with exit status 1
make: *** [temporary_test/package_creation] Error 1

This time it's C++ and I don't know how to solve it. Could you help me?

Fatal error: 'vector' file not found

After executing the command make, Two warnings and 1 error is shown--

warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the
      command line to use the libc++ standard library instead
      [-Wstdlibcxx-not-found]
In file included from mesh/src/aabb_normals.cpp:7:
In file included from /anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h:4:
In file included from /anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h:12:
In file included from /anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h:1824:
/anaconda2/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: 
      "Using deprecated NumPy API, disable it with "          "#define
      NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
#warning "Using deprecated NumPy API, disable it with " \
 ^
In file included from mesh/src/aabb_normals.cpp:13:
mesh/src/AABB_n_tree.h:9:10: fatal error: 'vector' file not found
#include <vector>
         ^~~~~~~~
2 warnings and 1 error generated.
error: command 'gcc' failed with exit status 1
make: *** [temporary_test/package_creation] Error 1

So I do this make -stdlib=c++
After this I do execute make install, on which following error is shown -

make install
[INSTALL] Overriding the default install command with [--boost-location=$BOOST_ROOT]
******** mesh_package : installation
** installing  mesh_package
/bin/sh: line 0: cd: dist: No such file or directory
make: *** [install] Error 1

I am not sure what does this mean..

pyrender: Failed rendering frame

I'm using voca repo for demo voice operated character animation, and i'm still getting this error?
What could be the solution ?

Thanks

Some problems with pyopen-gl

OS : Pop OS 20.04

python 3.8.2

Hey guys I followed the instructions specified in the readme for installation for this package and ran into the following issues

After running make tests the open-gl test failed : t

his test just opens a mesh window, waits, and kills the window ... OpenGL test failed:

and when I try to view a mesh by running : meshviewer view data/unittest/sphere.obj
I get this output but the viewer does not open

INFO:root:started remote viewer on port 55262

After running sudo apt-get install python3-opengl

Everything works perfectly fine

Do you think this should be included in installation instructions or is this problem specific to my system.

shutil.Error: [('/usr/include/python2.7/numpy'

Hello, I'm trying to install mesh on Google Colab. I have installed boost, virtualenv. When I did the make, this error occured:

********
********
******** mesh_package : Building the virtualenv for installation
********
********

Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 870, in main
    symlink=options.symlink,
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1156, in create_environment
    install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear, symlink=symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1473, in install_python
    copy_include_dir(standard_lib_include_dir, inc_dir, symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 1383, in copy_include_dir
    copyfile(include_src, include_dest, symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 423, in copyfile
    copy_file_or_folder(src, dest, symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 401, in copy_file_or_folder
    shutil.copytree(src, dest, symlink)
  File "/usr/lib/python2.7/shutil.py", line 222, in copytree
    raise Error, errors
shutil.Error: [('/usr/include/python2.7/numpy', '/content/drive/My Drive/AI_COLLAB/mesh/temporary_test/venv/include/python2.7/numpy', '[Errno 38] Function not implemented')]
Makefile:48: recipe for target 'temporary_test/package_creation' failed
make: *** [temporary_test/package_creation] Error 1

Can you please help?

Thank you.

Installation Issue : Given no hashes to check 151 links for project 'pip': discarding no candidates

Hey,
I was trying to setup mesh library on a remote system when I faced this issue :
I setup boost as specified ( command whereis boost returns boost: /usr/include/boost )
when I run
BOOST_INCLUDE_DIRS=/usr/include/boost/ make all
from the mesh directory I get the following error : Given no hashes to check 151 links for project 'pip': discarding no candidates

This issue was previously also mentioned in #15 but no resolution was reported back

System Info
Python Version : 3.8
OS : Ubuntu 16.04
Clang Version : 3.8
Cmake version : 3.15

Issue with pyopengl library for mesh

Dear developers,
I'm trying to use mesh processing libraries (Perceiving Systems Mesh Package) as a part of TF_FLAME. However, when I tried to run the command line "make tests", it keeps showing error as

AttributeError: 'NoneType' object has no attribute 'glGetError'

Something must have gone wrong with pyopengl library so it crashed when I tried to test the mesh library. Therefore, I need to know which version of pyopengl you have used to implement mesh library so I can reinstall the appropriate pyopengl library for this matter.

Hope you will give the answer for this issue though.

ErrorinPyOpenGLinMPI-ISMeshLibrary

Import psbody.mesh failed

Hi, I tested the package successfully on MacOS 10.14 but failed on MacOS 11 recently released. Specifically, I had no problems during compiling or even import psbody. But when I import psbody.mesh, it returns something like this:

>>> import psbody
>>> import psbody.mesh
Traceback (most recent call last):
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 35, in GL
    return ctypesloader.loadLibrary(
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", line 36, in loadLibrary
    return _loadLibraryWindows(dllType, name, mode)
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/ctypesloader.py", line 89, in _loadLibraryWindows
    return dllType( name, mode )
  File "/Users/***/opt/anaconda3/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: ('dlopen(OpenGL, 10): image not found', 'OpenGL', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/psbody/mesh/__init__.py", line 10, in <module>
    from .meshviewer import MeshViewer, MeshViewers
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/psbody/mesh/meshviewer.py", line 49, in <module>
    from OpenGL import GL, GLU, GLUT
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/GL/__init__.py", line 3, in <module>
    from OpenGL import error as _error
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/error.py", line 12, in <module>
    from OpenGL import platform, _configflags
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 36, in <module>
    _load()
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/__init__.py", line 33, in _load
    plugin.install(globals())
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 97, in install
    namespace[ name ] = getattr(self,name,None)
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 62, in GetCurrentContext
    return self.CGL.CGLGetCurrentContext 
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 45, in CGL
    def CGL(self): return self.GL
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/baseplatform.py", line 15, in __get__
    value = self.fget( obj )
  File "/Users/***/opt/anaconda3/lib/python3.8/site-packages/OpenGL/platform/darwin.py", line 41, in GL
    raise ImportError("Unable to load OpenGL library", *err.args)
ImportError: ('Unable to load OpenGL library', 'dlopen(OpenGL, 10): image not found', 'OpenGL', None)

I have found some information about OpenGL in MacOS 11 like LINK. It sounds like OpenGL is still a part of MacOS 11 (though deprecated). However, I am not an expert on MacOS or OpenGL. Is there any advice for my situation? THANKS!

Meshviewers cannot be used

When I initialize meshviewers, I can't get a valid object. It can only generate windows with black background. I used version 0.3 and version 0.4, neither of which could be solved

call: viewer = MeshViewers(shape=(1, 2), titlebar=titlebar):
image

result show:
image

background_color:
'Traceback (most recent call last):\n File "/home/liuxinqi/.vscode/extensions/ms-python.python-2020.6.91350/pythonFiles/lib/python/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py", line 193, in _get_py_dictionary\n attr = getattr(var, name)\nAttributeError: unreadable attribute\n'

fatal error C1083: Cannot open include file: 'CGAL/AABB_tree.h': No such file or directory

I'm trying to install the library in my command prompt using the makefile provided using GnuWin32 make.exe and am getting the below error. Can someone suggest any fix?

My system specifications:
Windows 10
Intel i5-7200 CPU
Python 3.7
Here is the error:

(coma) F:\Codebase\FORD_PROJECT\ModifiedAE\Mesh\mesh>make.exe
"\033[0;36m----- [" mesh_package "] Installing on the local virtual environment which python\033[0m"
Requirement already up-to-date: setuptools in f:\anaconda\envs\coma\lib\site-packages (from -r requirements.txt (line 1)) (46.1.3.post20200325)
Collecting numpy
Using cached numpy-1.18.2-cp37-cp37m-win_amd64.whl (12.8 MB)
Collecting scipy
Using cached scipy-1.4.1-cp37-cp37m-win_amd64.whl (30.9 MB)
Collecting pyopengl
Using cached PyOpenGL-3.1.5-py3-none-any.whl (2.4 MB)
Collecting pillow
Using cached Pillow-7.1.1-cp37-cp37m-win_amd64.whl (2.0 MB)
Collecting pyzmq
Using cached pyzmq-19.0.0-cp37-cp37m-win_amd64.whl (1.1 MB)
Collecting pyyaml
Using cached PyYAML-5.3.1-cp37-cp37m-win_amd64.whl (216 kB)
Collecting opencv-python
Using cached opencv_python-4.2.0.34-cp37-cp37m-win_amd64.whl (33.0 MB)
Installing collected packages: numpy, scipy, pyopengl, pillow, pyzmq, pyyaml, opencv-python
Attempting uninstall: numpy
Found existing installation: numpy 1.18.1
Uninstalling numpy-1.18.1:
Successfully uninstalled numpy-1.18.1
Successfully installed numpy-1.18.2 opencv-python-4.2.0.34 pillow-7.1.1 pyopengl-3.1.5 pyyaml-5.3.1 pyzmq-19.0.0 scipy-1.4.1
Package Version


certifi 2020.4.5.1
numpy 1.18.2
opencv-python 4.2.0.34
Pillow 7.1.1
pip 20.0.2
PyOpenGL 3.1.5
PyYAML 5.3.1
pyzmq 19.0.0
scipy 1.4.1
setuptools 46.1.3.post20200325
wheel 0.34.2
wincertstore 0.2
F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\commands\install.py:244: UserWarning: Disabling all use of wheels due to the use of --build-option / --global-option / --install-option.
cmdoptions.check_install_build_global(options)
Non-user install because site-packages writeable
Created temporary directory: C:\Users\SUJAYB1\AppData\Local\Temp\pip-ephem-wheel-cache-dc4dt4a5
Created temporary directory: C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-tracker-45k8953u
Initialized build tracking at C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-tracker-45k8953u
Created build tracker: C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-tracker-45k8953u
Entered build tracker: C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-tracker-45k8953u
Created temporary directory: C:\Users\SUJAYB
1\AppData\Local\Temp\pip-install-nugo5vli
Processing f:\codebase\ford_project\modifiedae\mesh\mesh
Created temporary directory: C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5
Added file:///F:/Codebase/FORD_PROJECT/ModifiedAE/Mesh/mesh to build tracker 'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-tracker-45k8953u'
Running setup.py (path:C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py) egg_info for package from file:///F:/Codebase/FORD_PROJECT/ModifiedAE/Mesh/mesh
Running command python setup.py egg_info
[VERSION] read version is 0.3
running egg_info
creating C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info
writing C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\PKG-INFO
writing dependency_links to C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\dependency_links.txt
writing namespace_packages to C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\namespace_packages.txt
writing requirements to C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\requires.txt
writing top-level names to C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\top_level.txt
writing manifest file 'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\SOURCES.txt'
reading manifest file 'C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\pip-egg-info\psbody_mesh.egg-info\SOURCES.txt'
Source in c:\users\sujayb1\appdata\local\temp\pip-req-build-h0yq7ms5 has version 0.3, which satisfies requirement psbody-mesh==0.3 from file:///F:/Codebase/FORD_PROJECT/ModifiedAE/Mesh/mesh
Removed psbody-mesh==0.3 from file:///F:/Codebase/FORD_PROJECT/ModifiedAE/Mesh/mesh from build tracker 'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-tracker-45k8953u'
Skipping wheel build for psbody-mesh, due to binaries being disabled for it.
Installing collected packages: psbody-mesh
Created temporary directory: C:\Users\SUJAYB1\AppData\Local\Temp\pip-record-093ivoe8
Running command 'F:\ANACONDA\envs\coma\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"'; file='"'"'C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\SUJAYB1\AppData\Local\Temp\pip-record-093ivoe8\install-record.txt' --single-version-externally-managed --compile --install-headers 'F:\ANACONDA\envs\coma\Include\psbody-mesh' '--boost-location=$BOOST_ROOT'
[VERSION] read version is 0.3
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.7
creating build\lib.win-amd64-3.7\psbody
copying psbody-mesh-namespace_init_.py -> build\lib.win-amd64-3.7\psbody
creating build\lib.win-amd64-3.7\psbody\mesh
copying mesh\arcball.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\colors.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\errors.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\fonts.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\landmarks.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\lines.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\mesh.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\meshviewer.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\processing.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\search.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\sphere.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\texture.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\utils.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh\version.py -> build\lib.win-amd64-3.7\psbody\mesh
copying mesh_init_.py -> build\lib.win-amd64-3.7\psbody\mesh
creating build\lib.win-amd64-3.7\psbody\mesh\topology
copying mesh\topology\connectivity.py -> build\lib.win-amd64-3.7\psbody\mesh\topology
copying mesh\topology\decimation.py -> build\lib.win-amd64-3.7\psbody\mesh\topology
copying mesh\topology\linear_mesh_transform.py -> build\lib.win-amd64-3.7\psbody\mesh\topology
copying mesh\topology\subdivision.py -> build\lib.win-amd64-3.7\psbody\mesh\topology
copying mesh\topology_init_.py -> build\lib.win-amd64-3.7\psbody\mesh\topology
creating build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\barycentric_coordinates_of_projection.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\cross_product.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\rodrigues.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\triangle_area.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\tri_normals.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry\vert_normals.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
copying mesh\geometry_init_.py -> build\lib.win-amd64-3.7\psbody\mesh\geometry
creating build\lib.win-amd64-3.7\psbody\mesh\serialization
copying mesh\serialization\serialization.py -> build\lib.win-amd64-3.7\psbody\mesh\serialization
copying mesh\serialization_init_.py -> build\lib.win-amd64-3.7\psbody\mesh\serialization
running build_ext
[CGAL] deflating cgal from "mesh\thirdparty\CGAL-4.7.tar.gz" to "C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\build\temp.win-amd64-3.7"
building 'psbody.mesh.aabb_normals' extension
creating build\temp.win-amd64-3.7\Release
creating build\temp.win-amd64-3.7\Release\mesh
creating build\temp.win-amd64-3.7\Release\mesh\src
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DNDEBUG=1 -DCGAL_NDEBUG=1 -DMESH_CGAL_AVOID_COMPILED_VERSION=1 -DCGAL_HAS_NO_THREADS=1 -DCGAL_NO_AUTOLINK_CGAL=1 -Imesh/src -IF:\ANACONDA\envs\coma\lib\site-packages\numpy\core\include -IC:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\build\temp.win-amd64-3.7\Release\CGAL-4.7\include -I$BOOST_ROOT -IF:\ANACONDA\envs\coma\include -IF:\ANACONDA\envs\coma\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt" /EHsc /Tpmesh/src/aabb_normals.cpp /Fobuild\temp.win-amd64-3.7\Release\mesh/src/aabb_normals.obj -O3
cl : Command line warning D9002 : ignoring unknown option '-O3'
aabb_normals.cpp
F:\ANACONDA\envs\coma\lib\site-packages\numpy\core\include\numpy\npy_1_7_deprecated_api.h(14) : Warning Msg: Using deprecated NumPy API, disable it with #define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
C:\Users\Sujay Bokil\AppData\Local\Temp\pip-req-build-h0yq7ms5\mesh\src\AABB_n_tree.h(9): fatal error C1083: Cannot open include file: 'CGAL/AABB_tree.h': No such file or directory
error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.25.28610\bin\HostX86\x64\cl.exe' failed with exit status 2
Running setup.py install for psbody-mesh ... error
Cleaning up...
Removing source in C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5
Removed build tracker: 'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-tracker-45k8953u'
ERROR: Command errored out with exit status 1: 'F:\ANACONDA\envs\coma\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"'; file='"'"'C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))'
install --record 'C:\Users\SUJAYB1\AppData\Local\Temp\pip-record-093ivoe8\install-record.txt' --single-version-externally-managed --compile --install-headers 'F:\ANACONDA\envs\coma\Include\psbody-mesh' '--boost-location=$BOOST_ROOT' Check the logs for full command output.
Exception information:
Traceback (most recent call last):
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\cli\base_command.py", line 186, in main
status = self.run(options, args)
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\commands\install.py", line 404, in run
use_user_site=options.use_user_site,
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\req_init
.py", line 71, in install_given_reqs
**kwargs
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\req\req_install.py", line 829, in install
scheme=scheme,
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\operations\install\legacy.py", line 72, in install
cwd=install_req.unpacked_source_directory,
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\utils\subprocess.py", line 275, in runner
spinner=spinner,
File "F:\ANACONDA\envs\coma\lib\site-packages\pip_internal\utils\subprocess.py", line 242, in call_subprocess
raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with exit status 1: 'F:\ANACONDA\envs\coma\python.exe' -u -c 'import sys, setuptools, tokenize;
sys.argv[0] = '"'"'C:\Users\SUJAYB
1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"'; file='"'"'C:\Users\SUJAYB1\AppData\Local\Temp\pip-req-build-h0yq7ms5\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\SUJAYB1\AppData\Local\Temp\pip-record-093ivoe8\install-record.txt' --single-version-externally-managed --compile --install-headers 'F:\ANACONDA\envs\coma\Include\psbody-mesh' '--boost-location=$BOOST_ROOT' Check the logs for full command output.
1 location(s) to search for versions of pip:

boost/config.hpp: No such file or directory compilation terminated.

I'm trying to install MPI-IS but I'm facing this problem and this is what I'm getting
'''
/mesh-master/build/temp.linux-x86_64-2.7/CGAL-4.7/include/CGAL/config.h:85:28: fatal error: boost/config.hpp: No such file or directory
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Makefile:48: recipe for target 'temporary_test/package_creation' failed
make: *** [temporary_test/package_creation] Error 1
'''
Can you help me with that please ?

Assign colors to vertices

How to assign a specific color to each vertex in the 3D mesh and plot this as a colored 3D mesh based on its vertices ?

Function save_snapshot() of meshviewer not working

Nice work! It does support a lot of brilliant works.
But when I try to save the result of meshviewer using save_snapshot, it fails. Actually, nothing happens. No files are saved.
To check the bug, I run the test_snapshot() of tests/test_meshviewer. It fails also. But the test_launch_smoke_test() success.
Looking forward to your reply.
Besides, is there any ports to convert the image in meshviewer to numpy array for other using?
Thanks for your efforts!

meshviewer in a remote device where no display is available

I want to do the meshviewer in a remote google cloud instance where I want to use the save_snapshot function to dump into images. I tried that but since google cloud instances does not allow the same I get errors.

OpenGL test failed:
stdout:
stderr: freeglut (foo): failed to open display ''

How can I use the meshviewerremote class for the same.

@anuragranj can u help

Mesh with Manjaro 20.2

Hi!

I am trying to install the Mesh library in Linux Manjaro 20.2, but I keep getting the following error when running the make all command:

/home/brandeea/anaconda3/envs/voca/compiler_compat/ld: build/temp.linux-x86_64-3.6/mesh/src/aabb_normals.o: unable to initialize decompress status for section .debug_info
    /home/brandeea/anaconda3/envs/voca/compiler_compat/ld: build/temp.linux-x86_64-3.6/mesh/src/aabb_normals.o: unable to initialize decompress status for section .debug_info
    /home/brandeea/anaconda3/envs/voca/compiler_compat/ld: build/temp.linux-x86_64-3.6/mesh/src/aabb_normals.o: unable to initialize decompress status for section .debug_info
    /home/brandeea/anaconda3/envs/voca/compiler_compat/ld: build/temp.linux-x86_64-3.6/mesh/src/aabb_normals.o: unable to initialize decompress status for section .debug_info
    build/temp.linux-x86_64-3.6/mesh/src/aabb_normals.o: file not recognized: file format not recognized
    collect2: error: ld returned 1 exit status
    error: command 'g++' failed with exit status 1
    Running setup.py install for psbody-mesh ... error
ERROR: Command errored out with exit status 1: /home/brandeea/anaconda3/envs/voca/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-vzuvwcw1/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-vzuvwcw1/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ou_ndsd0/install-record.txt --single-version-externally-managed --compile --install-headers /home/brandeea/anaconda3/envs/voca/include/python3.6m/psbody-mesh --boost-location=/usr/include/boost Check the logs for full command output.    
Exception information:
Traceback (most recent call last):
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 852, in install
    req_description=str(self.req),
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/operations/install/legacy.py", line 86, in install
    raise LegacyInstallFailure
pip._internal.operations.install.legacy.LegacyInstallFailure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 228, in _main
    status = self.run(options, args)
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 406, in run
    pycompile=options.compile,
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/req/__init__.py", line 90, in install_given_reqs
    pycompile=pycompile,
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 856, in install
    six.reraise(*exc.parent)
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_vendor/six.py", line 703, in reraise
    raise value
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/operations/install/legacy.py", line 76, in install
    cwd=unpacked_source_directory,
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/utils/subprocess.py", line 277, in runner
    spinner=spinner,
  File "/home/brandeea/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/utils/subprocess.py", line 242, in call_subprocess
    raise InstallationError(exc_msg)
pip._internal.exceptions.InstallationError: Command errored out with exit status 1: /home/brandeea/anaconda3/envs/voca/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-vzuvwcw1/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-vzuvwcw1/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-ou_ndsd0/install-record.txt --single-version-externally-managed --compile --install-headers /home/brandeea/anaconda3/envs/voca/include/python3.6m/psbody-mesh --boost-location=/usr/include/boost Check the logs for full command output.

The python version in my environment is 3.6.8, the pip version is 20.2.4, gcc 10.2.0 and boost version 1.72.0-2.
Could you please help me out with this issue?

Thank you!

make on centos

when I make this project on centos ,there would be an error "TypeError: 'include_dirs' (if supplied) must be a list of strings"? What can I do for this? I am looking for your relay? Thank you very much.

How to save the textured obj files that generated by using Mesh()?

After I borrowed some code from smpl like below, I found it worked for saving the class Mesh() as .obj file.

## Write to an .obj file
outmesh_path = './hello_smpl.obj'
with open( outmesh_path, 'w') as fp:
    for v in m.v:
        fp.write( 'v %f %f %f\n' % ( v[0], v[1], v[2]) )

    for f in m.f+1: # Faces are 1-based, not 0-based in obj files
        fp.write( 'f %d %d %d\n' %  (f[0], f[1], f[2]) )

But when I try to add some textures to the faces, I found it wouldn't work after I added some code below, which m=Mesh(*****) by definition.

## Write to an .obj file
outmesh_path = './hello_smpl.obj'
with open( outmesh_path, 'w') as fp:
    for v in m.v:
        fp.write( 'v %f %f %f\n' % ( v[0], v[1], v[2]) )
    for vt in m.vt:
        fp.write('vt %f %f\n' % (vt[0], vt[1]))
    for i, f in enumerate(m.f): # Faces are 1-based, not 0-based in obj files
        fp.write( 'f %d/%d %d/%d %d%d/\n' %  (f[0]+1,m.ft[i][0], f[1]+1,m.ft[i][0], f[2]+1,m.ft[i][0]) )

I wonder if I have done something wrong? If so, how to save the class Mesh() as the .obj files.
Thank you!

make all error related to boost lib

/private/var/folders/63/82v1bwrj13d_5gm3wqyc8nvh0000gn/T/pip-req-build-bryfjho0/build/temp.macosx-10.15-x86_64-3.6/CGAL-4.7/include/CGAL/config.h:85:10: fatal error: 'boost/config.hpp' file not found
    #include <boost/config.hpp>
             ^~~~~~~~~~~~~~~~~~
    1 warning and 1 error generated.
    error: command 'clang' failed with exit status 1
    Running setup.py install for psbody-mesh ... error
Cleaning up...
  Removing source in /private/var/folders/63/82v1bwrj13d_5gm3wqyc8nvh0000gn/T/pip-req-build-bryfjho0
Removed build tracker: '/private/var/folders/63/82v1bwrj13d_5gm3wqyc8nvh0000gn/T/pip-req-tracker-mo8esj_t'

Hi, while trying to make all psbody-mesh lib, I got this error. I already installed the boost and set the boost_dir as suggested in the readme. Do you have any idea what the reason is?

Thanks in advance

make all vs sudo make all

I have created a python 3 virtual environment and I am trying to install MPI-IS mesh processing library.

When I try running the command "make all", I get the following error:

\033[0;36m----- [ mesh_package ] Installing with the interpreter /home/csundaram/my_venv/bin/python (version 3.6.9)\033[0m
Collecting setuptools (from -r requirements.txt (line 1))
  Using cached https://files.pythonhosted.org/packages/95/95/f657b6e17f00c3f35b5f68b10e46c3a43af353d8856bd57bfcfb1dbb3e92/setuptools-47.1.1-py3-none-any.whl
Collecting numpy (from -r requirements.txt (line 2))
  Using cached https://files.pythonhosted.org/packages/03/27/e35e7c6e6a52fab9fcc64fc2b20c6b516eba930bb02b10ace3b38200d3ab/numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl
Collecting matplotlib (from -r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/93/4b/52da6b1523d5139d04e02d9e26ceda6146b48f2a4e5d2abfdf1c7bac8c40/matplotlib-3.2.1-cp36-cp36m-manylinux1_x86_64.whl
Collecting scipy (from -r requirements.txt (line 4))
  Using cached https://files.pythonhosted.org/packages/dc/29/162476fd44203116e7980cfbd9352eef9db37c49445d1fec35509022f6aa/scipy-1.4.1-cp36-cp36m-manylinux1_x86_64.whl
Collecting pyopengl (from -r requirements.txt (line 5))
  Using cached https://files.pythonhosted.org/packages/47/9a/8d9364533ebcaa13621994a63dcc6a6051e27671ae5e1715dac4af18cac2/PyOpenGL-3.1.5-py3-none-any.whl
Collecting pillow (from -r requirements.txt (line 6))
  Using cached https://files.pythonhosted.org/packages/e0/50/8e78e6f62ffa50d6ca95c281d5a2819bef66d023ac1b723e253de5bda9c5/Pillow-7.1.2-cp36-cp36m-manylinux1_x86_64.whl
Collecting pyzmq (from -r requirements.txt (line 7))
  Using cached https://files.pythonhosted.org/packages/c9/11/bb28199dd8f186a4053b7dd94a33abf0c1162d99203e7ab32a6b71fa045b/pyzmq-19.0.1-cp36-cp36m-manylinux1_x86_64.whl
Collecting pyyaml (from -r requirements.txt (line 8))
  Using cached https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz
Collecting opencv-python (from -r requirements.txt (line 9))
  Using cached https://files.pythonhosted.org/packages/72/c2/e9cf54ae5b1102020ef895866a67cb2e1aef72f16dd1fde5b5fb1495ad9c/opencv_python-4.2.0.34-cp36-cp36m-manylinux1_x86_64.whl
Collecting python-dateutil>=2.1 (from matplotlib->-r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl
Collecting pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 (from matplotlib->-r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl
Collecting kiwisolver>=1.0.1 (from matplotlib->-r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/ae/23/147de658aabbf968324551ea22c0c13a00284c4ef49a77002e91f79657b7/kiwisolver-1.2.0-cp36-cp36m-manylinux1_x86_64.whl
Collecting cycler>=0.10 (from matplotlib->-r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/f7/d2/e07d3ebb2bd7af696440ce7e754c59dd546ffe1bbe732c8ab68b9c834e61/cycler-0.10.0-py2.py3-none-any.whl
Collecting six>=1.5 (from python-dateutil>=2.1->matplotlib->-r requirements.txt (line 3))
  Using cached https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Building wheels for collected packages: pyyaml
  Running setup.py bdist_wheel for pyyaml ... error
  Complete output from command /home/csundaram/my_venv/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-93g47k8k/pyyaml/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmplsxaupo8pip-wheel- --python-tag cp36:
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Failed building wheel for pyyaml
  Running setup.py clean for pyyaml
Failed to build pyyaml
Installing collected packages: setuptools, numpy, six, python-dateutil, pyparsing, kiwisolver, cycler, matplotlib, scipy, pyopengl, pillow, pyzmq, pyyaml, opencv-python
  Found existing installation: setuptools 39.0.1
    Uninstalling setuptools-39.0.1:
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3.6/shutil.py", line 550, in move
    os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/home/csundaram/my_venv/bin/easy_install' -> '/tmp/pip-hq3d0sq8-uninstall/home/csundaram/my_venv/bin/easy_install'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/commands/install.py", line 360, in run
    prefix=options.prefix_path,
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/home/csundaram/my_venv/lib/python3.6/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python3.6/shutil.py", line 565, in move
    os.unlink(src)
PermissionError: [Errno 13] Permission denied: '/home/csundaram/my_venv/bin/easy_install'
Makefile:5: recipe for target 'all' failed
make: *** [all] Error 2

But when I run sudo make all, the installation works but I think it installs on the Python 2.7 version. After I finish my installation, when I run "make tests", I get the following error:

ModuleNotFoundError: No module named 'psbody'

Any help regarding the installation is appreciated. Thanks in advance

Results could not display, but no error message (running on remote servers)

When I run make tests, at the test_launch_smoke_test, a blank window popped up but before any results could be shown, it closed.
Tracing down the code, I found that the window popped up at self.mvs = MeshViewers(shape=[2, 2]) in tests/test_meshviewer.py, and closed soon after reaching self.mvs[0][0].set_static_meshes([self.meshes[0]]). Specifically, it seems to be this line
self.client.send_pyobj({'label': label, 'obj': obj, 'which_window': which_window}) in the psbody.mesh.meshviewer that triggers the window to close. 

I was expecting to see a sphere or a cube displayed in the window, as opposed to automatically closing without showing anything. I'm wondering how I could fix this? I'm running the code on a remote server. Any advice or help is greatly appreciated!

Mesh and Meshviewer cannot be used

I had compiled and install Boost and the psbody-mesh package following the README.md using Makefile in the repository. And run the test successfully by the command $ make tests as well as $ make documentation.

But when I use the command $ meshviewer view sphere.obj, it occurs an error, ValueError: Could not load file.

Tarceback reports that the error occurs in File "psbody/mesh/serialization/serialization.py", line 98, in load_from_obj_cpp from .loadobj import loadobj.

Then I found there is not loadobj file in the whole directory, as well as aabb_normals, spatialsearch, plyutils. It indicates the Cmakelist.txt in ./mesh is no use.

Do you know how to deal with the problem?

pip package

possible to make this a pip package for easy install in depending projects?

make: *** No rule to make target 'all'. Stop.

Do I need to create another virtual environment if i am already in one, like I am in (voca) right now as shown.
If not, I got the error
make: *** No rule to make target 'all'. Stop.
when i run
make all.
Do i need to clone repository first or I missed something?
image

Make all c++ Error in MacOS

python=3.6.8
installed boost
I have tried BOOST_ROOT=/usr/local/Cellar/boost/1.71.0 make all and make all commands. Both error occurs.

/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings] #warning "Using deprecated NumPy API, disable it with " \ ^ In file included from mesh/src/aabb_normals.cpp:10: mesh/src/AABB_n_tree.h:6:10: fatal error: 'vector' file not found #include <vector> ^~~~~~~~ 2 warnings and 1 error generated. error: command 'gcc' failed with exit status 1 error Cleaning up... Removing source in /private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-req-build-vyk3s33j Command "/Users/plm/app/anaconda3/envs/voca/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-req-build-vyk3s33j/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-record-x5knfek7/install-record.txt --single-version-externally-managed --compile --boost-location=/usr/local/Cellar/boost/1.71.0" failed with error code 1 in /private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-req-build-vyk3s33j/ Exception information: Traceback (most recent call last): File "/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main status = self.run(options, args) File "/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 335, in run use_user_site=options.use_user_site, File "/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/req/__init__.py", line 49, in install_given_reqs **kwargs File "/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 779, in install spinner=spinner, File "/Users/plm/app/anaconda3/envs/voca/lib/python3.6/site-packages/pip/_internal/utils/misc.py", line 698, in call_subprocess % (command_desc, proc.returncode, cwd)) pip._internal.exceptions.InstallationError: Command "/Users/plm/app/anaconda3/envs/voca/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-req-build-vyk3s33j/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-record-x5knfek7/install-record.txt --single-version-externally-managed --compile --boost-location=/usr/local/Cellar/boost/1.71.0" failed with error code 1 in /private/var/folders/xw/h6fs7299027bj682phxtlgph0000gp/T/pip-req-build-vyk3s33j/ You are using pip version 10.0.1, however version 20.0.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command. make: *** [all] Error 1

TypeError issue in mesh library

Hi,

I've tried to test CoMA source code(pytorch version) and I nearly got this, but finally met a library issue I couldn't find any solution.

The error is...
TypeError: argument 1 must be numpy.ndarray, not numpy.ndarray

I've got this while running below and when I run the test code the library seems not to be able to load meshes properly.

run main.py --data_dir /data --checkpoint_dir /checkpoints (this is from CoMA code)

/opt/conda/envs/py355/lib/python3.5/site-packages/psbody/mesh/mesh.py in compute_aabb_tree(self)
438
439 def compute_aabb_tree(self):
--> 440 return search.AabbTree(self)
441
442 def compute_aabb_normals_tree(self):

/opt/conda/envs/py355/lib/python3.5/site-packages/psbody/mesh/search.py in init(self, m)
22 from . import spatialsearch
23 # this shit return NULL
---> 24 self.cpp_handle = spatialsearch.aabbtree_compute(m.v.astype(np.float64).copy(order='C'), m.f.astype(np.uint32).copy(order='C'))
25
26 def nearest(self, v_samples, nearest_part=False):

TypeError: argument 1 must be numpy.ndarray, not numpy.ndarray

Please give me some help...
I opened this issue at pytorch_coma repo too.

Thank you in advanced

How to use MeshViewer using a specific camera?

Hi~ I want to render a picture with a specific camera. For example, a camera with scale and transition parameters [s,t]. (It is a weak-perspective camera) How can I set it?
I learned how to use MeshViewer to render and save the picture. Yet the result is well centered. I want to know how to render a mesh using my own camera. Anyone can help?

mv = MeshViewer()
mv.dynamic_meshes = [mymesh]
mv.save_snapshot("snapshot.png")

Thanks in advance!

Platform does not define a GLUT font retrieval function

I followed the readme to build this repo. When I do make tests, I got this error. Have you by any chance know this error?

pyopengl 3.1.5
ubuntu16

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/scratch/users/zzweng/venv2/lib/python3.6/site-packages/psbody_mesh-0.4-py3.6-linux-x86_64.egg/psbody/mesh/__init__.py", line 10, in <module>
    from .meshviewer import MeshViewer, MeshViewers
  File "/scratch/users/zzweng/venv2/lib/python3.6/site-packages/psbody_mesh-0.4-py3.6-linux-x86_64.egg/psbody/mesh/meshviewer.py", line 49, in <module>
    from OpenGL import GL, GLU, GLUT
  File "/scratch/users/zzweng/venv2/lib/python3.6/site-packages/OpenGL/GLUT/__init__.py", line 5, in <module>
    from OpenGL.GLUT.fonts import *
  File "/scratch/users/zzweng/venv2/lib/python3.6/site-packages/OpenGL/GLUT/fonts.py", line 20, in <module>
    p = platform.getGLUTFontPointer( name )
  File "/scratch/users/zzweng/venv2/lib/python3.6/site-packages/OpenGL/platform/baseplatform.py", line 345, in getGLUTFontPointer
    """Platform does not define a GLUT font retrieval function"""
NotImplementedError: Platform does not define a GLUT font retrieval function
make: *** [import_tests] Error 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.