Hello Alembic users, thanks to your feedback we have another collection of
useful features and bug fixes.
Alembic library:
Add missing setTimeSampling member function to OCurves and ONuPatch. (Issue 295)
Record the max number of samples written for various TimeSampling at the
archive level, and provide a utility function for getting the start and end time
of the archive using this data. (Issue 301)
Propogate the Error handling policy better.
Add Box2(s,i,f,d) array properties to match scalar properties.
INuPatch getTopologyVariance wasn't correctly taking into account animated
weights.
IsAncestorVisible utility function was returning the wrong value.
TimeSamplingType now allows for some floating point imprecision during
comparison. (Issue 301)
Add isStandardName and makeStandardName convenience functions.
- These functions offer plugin writers an easy way to get multi-application
name compliance. They help you convert any special characters your
application supports into a set universally accepted characters.
Add AbcOpenGL library which is based on the draw code from SimpleAbcViewer.
Python:
Add PyAbcOpenGL bindings.
Fix segfault with invalid getProperty index/name
Add getProperty to OCompoundProperty
Add getKey to IArrayProperty
- This is the preferred way to get the alembic hash of a property.
Previously you needed to build the a hash by marshalling
and serializing the data in python which is slooow.
Add getMaxNumSamplesForTimeSamplingIndex to IArchive.
Add high level Python API named "cask" built on top of the Alembic Python
bindings.
- This was developed to simplify scripting of alembic files
in Python.
- It is designed to be easy to use and "Pythonic". For example it
gives you a dictionary style interface to objects and
properties.
- It is an abstraction on top of alembic which allows you to create mutable
objects. This means scripters are not forced to use the separated,
immutable input and output core alembic objects.
convert the cask.rst file in python/examples/cask/doc to read the docs
and see examples.
Add abcview which uses PyQt and PyAbcOpenGL
- This tool is perfect for debugging alembic caches. It offers Katana-
style, lazy-UI hierarchy traversal and a script editor to do more
in-depth object and property queries using the Python bindings.
SimpleAbcView is embedded into the application for easy reference.
Bootstrap and CMake:
Fix boost configuration if you are not building pyalembic. (Issue 296)
Eliminate many warnings when compiling with Visual Studio 10. (Issue 294)
Improve many of our CMakeLists.txt so that you can use Cmake directly instead
of having to go through the bootstrap.
Better Windows compliance. (Look for further improvements over the next releases).
Maya:
AbcExport bounding box calculation for the entire archive is much more efficient
and is especially noticeable when calculating bounds on deep hierarchies.
Add identifyFile and haveNamespaceSupport to AlembicImportFileTranslator.
Fix bug where the AlembicImportFileTranslator could not be unloaded properly.
Arnold Procedural:
Fix bug with multiple samples potentially being added for uvlist.
Initialize makeInstance on creation.
Add instanced nodes to the list of createdNodes.
Utilities:
Add abctree which walks the entire hierarchy and prints out the names
of objects.
2012-10-17, Alembic 1.1.2
Hello Alembic users, thanks to your feedback we have another collection of
small but useful features and bug fixes.
New features:
Maya AbcImport:
Added inclusive and exclusive filtering support to allow selective importing
of cache objects via regex matches.
Added file translator support. Alembic caches can now be opened directly and
imported as Maya references.
Facesets now get imported as Maya facesets instead of an integer array
attribute.
Maya AbcExport:
Write out curves with a basis of b-spline and repeat first and last
points twice (if they aren't repeated) if we have a cubic open curve.
Support exporting Maya facesets with the -wfs/-writefacets flag.
Add -ef/-eulerFilter flag which euler filters samples to rotate, rotate axis,
and joint orient.
Update -sn/-stripNamespaces flag with an optional integer to only strip
that number of namespaces.
Remove boost usage.
Core library:
Add static emptySample() convenience function.
Improve const correctness on most of the Abc and AbcGeom getter functions.
Child bounds are no longer written and read via the schema's sample class,
instead the child bounds property is directly exposed on the schema.
Normals and UVs IGeomParams are no longer returned by reference.
On Xforms, only write the .animChans data once if necessary.
Bug fixes:
Maya AbcImport:
Clean up temporary trim curves when the trim operation fails for
MFnNurbsSurface.