Commit Graph

37 Commits (ccc0a50d9689529c4ef8daa86f3ce15aba325b2d)

Author SHA1 Message Date
David efbabf3b0d Implement contextmanager for load 2020-06-09 08:32:59 +02:00
Shawn Presser f305f10551 Only try to initialize members whose name starts with 'm' followed by an uppercase character 2020-03-09 00:05:17 -07:00
Eric Olson 3924a5c32a Ensure obj is not null before using hasattr
Fixes error shown below:
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 320, in load
    scene = _init(model.contents)
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 206, in _init
    raise e
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 187, in _init
    call_init(e, target)
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 80, in call_init
    _init(obj.contents, obj, caller)
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 214, in _init
    if _is_init_type(obj):
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\core.py", line 86, in _is_init_type
    if helper.hasattr_silent(obj,'contents'): #pointer
  File "C:\Users\micro\build2\boxwin_external_libs\pyassimp\helper.py", line 277, in hasattr_silent
    return hasattr(object, name)
ValueError: NULL pointer access
2019-05-27 13:06:38 -05:00
Huarong Chen b6d3cbcb61
Fix "bytes aketrans" issues in Python>=3.1
Issue https://github.com/assimp/assimp/issues/2339
2019-04-17 14:19:00 +08:00
Charlie Gettys 5a53fbd65f port/PyAssimp/pyassimp/: Fix new warnings 2019-03-29 18:36:17 -04:00
Charlie Gettys 1614b7bea4 port/PyAssimp/pyassimp/core.py: convert_assimp_string now switches on
version instead of just catching the exception if unicode is not defined
& _init_face uses is None instead of == None
2019-03-29 18:36:17 -04:00
Charlie Gettys e849b94f68 port/PyAssimp/pyassimp/core.py & helper.py: catch specific exceptions instead of BaseException 2019-03-29 18:36:17 -04:00
Charlie Gettys 4e714fce0e port/PyAssimp/pyassimp/core.py: remove unused import & second import of ctypes 2019-03-29 18:36:17 -04:00
Charlie Gettys 49033513ef port/PyAssimp/pyassimp/core.py: remove deprecated unused import & unnecessary from ctype import pointer 2019-03-29 18:36:17 -04:00
Charlie Gettys eb81619e56 Fix core.py raising string instead of correct RuntimeError 2019-03-29 18:36:17 -04:00
Kim Kulling b3c2fdc11d python: fix review findings. 2018-12-23 14:28:40 +01:00
Vincent Fazio ef4e317625 Improved some comments 2018-09-21 10:51:38 +10:00
Vincent Fazio 3402cd81c7 Added interface to 'aiExportSceneToBlob()' for pyassimp 2018-09-21 10:31:21 +10:00
Wojciech Matyjewicz fdf52f3d25 Build Python representation for metadata. 2018-09-02 00:52:24 +02:00
Wojciech Matyjewicz 8bbfac1f04 Factor out Assimp string -> Python string conversion code. 2018-09-02 00:51:14 +02:00
Wojciech Matyjewicz 7004066532 Fix inconsistent newlines.
LF newlines have been changed to CR LF to match the rest of the file.
2018-09-01 10:11:59 +02:00
Vincent Fazio 597628f43a Prevent 'AttributeError' when printing object attributes 2018-08-24 12:03:54 +10:00
Andor Goetzendorff f4fd5840b1 Encode filename using file system encoding instead of ASCII 2018-05-15 15:35:44 +02:00
rodrigo figueroa 01a288ff35 Added support for python3
When using python3 and running any of the provided scripts I get:
NameError: name 'unicode' is not defined.  Python3 does not have unicode. Using try-except method helps to support python3
2017-07-20 22:48:07 -07:00
Kim Kulling 1ca54c0b2f closes https://github.com/assimp/assimp/issues/1211: defensice handling
of utf-8 decode issues.
2017-03-23 17:11:52 +01:00
Steven Thompson 06e262f892 Added ability to export scenes with PyAssimp 2016-04-03 13:03:16 +01:00
Steven Thompson 2c3bbe041a Set xrange to range for Python 3.0 and above 2016-03-27 20:12:22 +01:00
Tcll 2e725c0dc5 Added auto-detection of numpy
If numpy is not installed, pyassimp returns lists to allow the user to manage the data type.
2015-09-28 14:15:06 -04:00
Michael Dawson-Haggerty 704e57db4e changed default postprocessing option to triangulate quad meshes 2015-01-27 22:47:05 -05:00
Oliver Nagy 3721b19a61 pyassimp/quicktest now runs without installing pyassimp first. 2014-11-23 15:42:11 +11:00
Oliver Nagy f12a0a3b1c Replaced 'xrange' by 'range' to maintain Python 3.x compatibility. 2014-11-22 16:24:32 +11:00
Michael Dawson-Haggerty 5ae65987c0 added the ability to load from file objects with pyassimp.load, as opposed to only being able to load from paths 2014-09-04 01:04:00 -04:00
Eximius e0935c7ec5 PyAssimp optimize: load Armadillo: 33.8s -> 6.7s 2013-11-03 08:53:58 +00:00
Faule Socke 945231ba94 Now actually fixed the bug with the normals.
pyassimp returned a list instead of a numpy array when the normals were
empty. This also applies to texture coordinates and other stuff which is
explicitly converted in _finalize_mesh.
2013-07-29 01:24:22 +02:00
Faule Socke 43ff04a53b Fixed a bug in the bugfix -.- 2013-07-28 22:22:49 +02:00
Faule Socke 3c02d24bf0 Fixed a bug returning not all material properties when accessing them.
Also fixed another bug occouring when no normals are provided in sample.py (lists do not have a any() method).
2013-07-28 02:10:49 +02:00
Bill Roeske 2494608927 [pyassimp] Fix py3.3 + 64bits issues
64-bit Compatibility:

The first four characters of a String material property would be cut
off. A String's length is defined in structs.py as a c_size_t
variable, which is 8 bytes wide on 64-bit Python. However, when an
aiString is used as an aiMaterial property in C/C++, the length is
truncated down to a 4-byte value on 64-bit machines (see
MaterialSystem.cpp aiMaterial::AddProperty() for details). A new
struct was declared in structs.py (MaterialPropertyString) and used
in core._get_properties().

Python 3.3 Compatibility:

The built-in function hasattr() changed in Python 3.2 to not
trap exceptions, which means a NULL pointer ValueException now
escaped when checking if a pointer was valid (hasattr(obj,
'contents') in core.call_init()) (see
http://bugs.python.org/issue9666 for details). A new helper
function was defined that preserves the legacy functionality of
trapping the exceptions (helper.hasattr_silent()) and used
throughout the code as a replacement for hasattr().

String objects would import as "bytes" rather than as a
string. This was most noticeable in the key names for
material properties, where the trailing ' of a bytes object
would remain after it was converted to a string. The
solution was to call decode() on the bytes object using
utf-8 decoding. This applies to various parts of core.py.

Closes #35
2013-06-03 10:38:30 +02:00
Alexander Gessler c50926b43b Merge pull request #10 from severin-lemaignan/for-upstream
[pyassimp] New sample application based on SDL/pygame + various fixes
2013-01-19 17:48:22 -08:00
Rodrigo Benenson c883967735 Fixed pyassimp core.py 2012-11-29 19:07:56 +01:00
Séverin Lemaignan f1bf843b55 [pyassimp] Remove obsolete code 2012-11-10 23:02:11 +01:00
Séverin Lemaignan 76d2eb7057 [pyassimp] Rework material dict
- Normalize the names
- Do not create numpy arrays for the properties
2012-11-10 22:57:07 +01:00
aramis_acg 6d3cedc0b1 - add missing files from the last commit
git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1334 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
2012-11-10 16:01:55 +00:00