Commit Graph

41 Commits (edb8375702af5444df4d6996acc0ddda7a01cfbf)

Author SHA1 Message Date
Marco Feuerstein d1edaa949b Fix passing of file extension string.
Previously only the first letter of the string was passed to c, now it passes the whole extension.
2023-06-29 14:51:16 +02:00
FeeshWyvern f9fcf33aaa Bug fix: We should not be accessing `mPrivate` according to structs.Scene and fixes a crash when `mPrivate` points to invalid data. 2023-02-27 20:06:05 -08:00
FeeshWyvern 94d9773548 Bug fix: Correctly set the name of the attributes. PR #3940 did not seem to update in Master? 2023-02-27 20:02:34 -08:00
Kim Kulling b4fc41bc09
Use corret attribute name
- closes https://github.com/assimp/assimp/issues/3887
2021-06-03 22:52:10 +02:00
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