pycollada Changelog ################### 0.8 (2024-01-07) **************** Bug Fixes ========= * Add huge_tree support for lxml to fix large XML document loading. * Allow base class exceptions to be passed to ignore list, and fix FloatSource shape mismatch. * Fix various typos. * Stop using nsmap of lxml to support multiple name space. Backwards Compatibility Notes ============================= * Support for Python versions prior to 3.8 dropped. * Support for Python 3.12 has been added. * Make numpy an explicit install requirement. New Features ============ * Add node name property. * Fixes and formatting to make pycollada pass flake8. * Make material optional when creating geometry. 0.7.2 (2021-12-12) ****************** Bug Fixes ========= * Properly close files in constructor. * Fix some warnings. * Make examples python3 compatible. * DaeUnsupportedError fails due to missing cast * docs: Fix a few typos * removed redundancy in unit normals and reformatted * Remove deprecated ElementTree...getchildren() method calls * Fix angle units documentation in RotateTransform. New Features ============ * Convert from Travis CI to Github Actions. 0.7.1 (2020-01-23) ****************** Bug Fixes ========= * Fix package_data in 0.7 release. 0.7 (2019-10-10) **************** Bug Fixes ========= * Fix bug with namespaces with xml.etree. * Fix bug when parsing whitespace-only numerical elements. Backwards Compatibility Notes ============================= * Support for Python 3.3 and 3.4 has been dropped. 0.6 (2017-11-19) **************** New Features ============ * tristrips and trifans are now supported. * Add support for Python 3.6 Bug Fixes ========= * Fix python-dateutil dependency setup. * Fix flaky test (#61). Backwards Compatibility Notes ============================= * Drop support for Python 2.6 and 3.2. 0.5 (2017-03-16) **************** New Features ============ * Added function to get effect properties from underneath the technique tag. * Add example how to visualize DAE file using OpenGL API. Bug Fixes ========= * Fix Python 3 image loading. * Fix missing import. * changed string_ to unicode_ for numpy string array parsers. * changed itervalues() to values() for compatibility with python3. * Change iteritems() to items() in getInputList. Add test. Fixes #40. * Fixing conversion from unsupported texcoord. input. * use 'from PIL import Image' instead of 'import Image'. * Fix case where getitem is called before normal indices are set up. * Fixed shader compilation error. Old GLSL compilers do not like precision statement. * Apply patch to fix ctypes-usage issue. * Convert some Windows-style files to Unix format (linebreaks). * Fix the bug with relative path to default dae file. 0.4 (2012-07-31) **************** Backwards Compatibility Notes ============================= * Python 2.5 is no longer supported. Supported versions are now 2.6, 2.7 and 3.2. New Features ============ * Added support for reading the opaque attribute from tag. * Normals and texture coordinate indices are now available in shapes (Triangle and Polygon). * Library is now compatible with python's built-in ElementTree API instead of requiring lxml. lxml is still recommended. * Added support for Python 3.2. Supported versions are now 2.6, 2.7 and 3.2. * Added support for index_of_refraction in . * Added optional parameter to Collada that does XML schema validation when saving. * Automatically corrects broken files that don't have correct xfov, yfov, and aspect ratio in cameras. Bug Fixes ========= * Fix the default value for transparency in Effect. Now correctly defaults to 1.0 when opaque mode is A_ONE, and 0.0 when opaque mode is RGB_ZERO. * Fixed bug where BoundPolylist was not returning the correct length value. * Removed support for RGB from Effect since it's not valid in the spec. If an RGB is given, a fourth A channel is automatically added as 1.0. * Made instance_geometry not write an empty bind_material if it's empty since it breaks validation. * Made saving strip out empty tags since it breaks validation. 0.3 (2011-08-31) **************** Backwards Compatibility Notes ============================= * If using the old Camera object, this has been changed to an abstract class with types for PerspectiveCamera and OrthographicCamera * If using the old Collada.assetInfo dictionary to read asset information, this has been changed to an object. See documentation for more information. New Features ============ * Added support for bump maps inside the extra tag of an effect * Added texbinormal and textangent to triangle sets * Added a method to generate texture tangents and binormals * Added detection for double_sided * Added an optional parameter to specify what filename inside an archive to use when loading from zip * Added support for loading multiple sets of library_* nodes * Refactored asset information into a separate module. Fixed #12 * Refactored Camera into PerspectiveCamera and OrthographicCamera, inheriting from Camera Bug Fixes ========= * Changed Collada IndexedLists attributes to be properties. Fixed Issue #14 * Updated scene to use a local scope when nodes are instantiated inside a scene * Changed parsing to raise DaeMalformedError when an lxml parser exception is thrown * Fixed bug when loading an tag local to an not showing up in Collada.images * Fixed bug when loading an empty * Fixed bug in if statement when loading morph controllers * Fixed bug when triangulating a length-0 polylist * Updated install instructions for OS X and Ubuntu problems * Fixed bugs in IndexedList from Issue #13 * Fixed a bug where using the same map twice in an effect would cause incorrrect output * Changed geometry export to delete any sources in the vertices tag that no longer exist * Changed library output to not output empty library nodes so validator doesn't complain * Add same checks in scene loading that was done in library_nodes loading so that if nodes are not found yet while loading, it will keep trying * Changed the way library_nodes is loaded so that if a referenced node from instance_node is not loaded yet, it will keep trying * Fixed bug where a triangles xml node would try to set an attribute to None * Fixed bug in handling joints that influence 0 vertices 0.2.2 (2011-05-03) ****************** * Changed the way instance_node is handled to actually maintain the mapping so it's not lost when saving * Added setdata function to CImage and made Effect compare only image path * Fixed a bug when rewriting geometry sources * Change primitive sources to point to the tag when possible since other importers don't like not having a tag * Export source data with only 7 decimal precision for better file size * Prevent NaN from being the result of a normalize_v3 call * Fixed bug where effect was not correctly reading all four color values * Fixed a bug where a triangleset would not create its xml node when generated from a polylist * Big speed increases for converting numpy data to strings * Moved getInputs function to Primitive * Added functions to triangleset to generate normals and get an input list * Fixed bug in saving a scene node if there was no id * Fixed some bugs/optimizations with saving * Added function to test if an Effect is almost equal to another Effect * Adding dynamic dependencies to setup.py 0.2.1 (2011-04-15) ****************** * Fixed bug with saving existing files that didn't have some library_ tags. 0.2 (2011-04-15) **************** * Many bugfixes * polylist support * polygons support without holes * lines support * blinn and constant material support * More effect attributes * Better support for auxiliary texture files * Lights (directional, ambient, point, spot) * lookat transform * Experimental controller support (skin, morph) * polygons/polylist can be triangulated * Automatic computation of per-vertex normals 0.1 (2009-02-08) **************** * Initial release * Triangles geometry * Reads vertices and normals * Multiple texture coordinate channels * Phong and Lambert Materials * Texture support using PIL * Scene support for geometry, material and camera instances * Transforms (matrix, rotate, scale, translate) Releasing ######### #. Generate log:: git log $(git describe --tags --abbrev=0)..HEAD --pretty=format:"* %s" Add this to docs/changelog.rst. #. Update setup.py to change version to new version. #. Update ``collada/__init__.py`` to new version. #. Update docs/conf.py to change version string to new version. #. Commit changes. #. Tag version:: git tag v0.x HEAD git push origin master git push --tags #. Build source distribution:: python setup.py sdist twine upload dist/pycollada-0.7.tar.gz -u __token__