Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-04-06Alembic: Renamed create_rotation_matrix to create_swapped_rotation_matrix ↵Sybren A. Stüvel
and more: Also replaced the bool param "to_yup" with "AbcAxisSwapMode mode", so that it's more explicit that axes are swapped. Also added unittests for create_swapped_rotation_matrix.
2017-04-06Alembic import: fixed crash on more complex modelSybren A. Stüvel
There was a problem with parent-child relations not getting set up correctly when an Alembic object was both the transform for a mesh object and the parent of other mesh objects.
2017-04-06Alembic: comment typo/error fixesSybren A. Stüvel
2017-04-06Alembic import: prevented unnecessary vector scalingSybren A. Stüvel
2017-04-06Alembic import: moved import-time scaling to different functionSybren A. Stüvel
convert_matrix() now only converts from Imath::M44d to float[4][4] (taking different camera orientations into account). Import-time scaling is now performed by the caller.
2017-04-06Alembic: removed unnecessary matrix copySybren A. Stüvel
2017-04-06Alembic: simplified AbcEmptyReader::readObjectDataSybren A. Stüvel
2017-04-06Alembic: added some r_ prefixes for return parametersSybren A. Stüvel
2017-04-06Alembic: code styleSybren A. Stüvel
2017-04-06Alembic: don't use m_shapes_typeSybren A. Stüvel
2017-04-06Alembic: more lenient check on absence of sheer & homogeneous scalingSybren A. Stüvel
Checking precise values of floats is not a good idea.
2017-04-06Alembic: simplified conditional statementsSybren A. Stüvel
2017-04-06Alembic import: nicer progress updatesSybren A. Stüvel
2017-04-06Alembic import: fixed bug where local matrix from Alembic was used as object ↵Sybren A. Stüvel
matrix Also renamed AbcObjectReader::readObjectMatrix to setupObjectTransform, as it does more than just reading the object matrix; it also sets up an object constraint if the Alembic Xform is animated.
2017-04-06Alembic import: separated reading matrix and getting the appropriate Xform ↵Sybren A. Stüvel
object Also added a bit better error reporting, instead of silently ignoring invalid Alembic data.
2017-04-06Alembic import: be more lenient towards unknown object types.Sybren A. Stüvel
Alembic is an interchange and caching format, that can contain custom object schemas. Blender shouldn't crash (because of failing asserts) just because it doesn't know such an object type.
2017-04-06Alembic: don't call object.getFullName() multiple times.Sybren A. Stüvel
2017-04-06Alembic: Renamed parent_map to reader_mapSybren A. Stüvel
It's a mapping from full path of an Alembic object to an AbcObjectReader*. The fact that at some point it is used to construct parent-child relations doesn't matter.
2017-04-06Alembic: use typedefs to make it easier to handle maps/vectorsSybren A. Stüvel
2017-04-06Alembic: more const-nessSybren A. Stüvel
2017-04-06Alembic: fixed importerSybren A. Stüvel
The importer was guessing whether an Alembic IXform object was part of a child object, or should be represented as an Empty in Blender. By reversing the order in which objects are visited, the children can now claim their parent as part of the same object (so IPolyMesh claims its parent IXform as part of the same Blender object). This results in much less guesswork. I've also removed similar guesswork from the code that sets parent pointers, by simply searching for the parent in a hierarchical way, instead of trying to predict (again) which IXforms were turned into empties. Also, visit_object() now actually visits the object -- previously it only visited its children, and assumed the object it was called on was already handled by a previous call.
2017-04-06Alembic: prevent a couple of unnecessary multiplicationsSybren A. Stüvel
2017-04-06Alembic: be more explicit in y-up versus z-up variables.Sybren A. Stüvel
2017-04-06Alembic: removed a lot of unnecessary & duplicate code from abc_util.ccSybren A. Stüvel
create_transform_matrix(float[4][4]) did mostly the same as create_transform_matrix(Object *, float[4][4]), but more elegant. However, the former has some inconsistencies with the latter (which are now merged and made explicit, turned out one was for z-up→y-up while the other was for y-up→z-up), and was renamed to copy_m44_axis_swap(...) to convey its purpose more clearly. Furthermore, "loc" has been renamed to "trans", as matrices don't store locations but translations; and more variables now have a src_ or dst_ prefix to denote whether they contain a matrix/vector in the source or destination axis orientation.
2017-04-06Alembic: added noteSybren A. Stüvel
2017-04-06Alembic: allow copy_{z,y}up_from_{y,z}up() to be called with yup=zupSybren A. Stüvel
This allows in-place conversion between z-up and y-up, by passing the same variable to both arguments.
2017-04-06Alembic: import empties under their own name in Alembic, not their parent'sSybren A. Stüvel
Before this commit something strange happened, as the m_data_name of an inherit data-less object was used.
2017-04-06Alembic: Don't compute world matrix when it's not necessary.Sybren A. Stüvel
2017-04-06Alembic: cleaned up hack in AbcObjectReader::read_matrix()Sybren A. Stüvel
2017-04-06Alembic: added some clarificationSybren A. Stüvel
2017-04-06Alembic: added some getter functions to help debug prints etc.Sybren A. Stüvel
2017-04-06Alembic: do not presume to predict the parent nameSybren A. Stüvel
AbcExporter::createTransformWriter() tries to predict the parent Xform name, but if it cannot be found has multiple ways of creating it, possibly under a different name than originally searched for.
2017-04-06Alembic: Removed AbcTransformWriter::m_parentSybren A. Stüvel
It was set, but never read anywhere.
2017-04-05Fix alembic build error with MSVClazydodo
2017-04-05Alembic: addition of a simple logging class.Kévin Dietrich
The idea is to have a system where we properly log error messages and let the users know that errors occured redirecting them to the console for explanations. This is only implemented for the exporter since the importer already has similar functionalities; however they shall ultimately be unified in some way. Reviewers: sybren, dfelinto Differential Revision: https://developer.blender.org/D2541
2017-04-01Cleanup: styleCampbell Barton
2017-03-12Cleanup: styleCampbell Barton
2017-02-25Fix compiling after a0b8a9fJens Verwiebe
2017-02-25Alembic: avoid crashing when reading non-indexed UV params.Kévin Dietrich
2017-02-25Alembic: addition of a scope timer to perform basic profiling.Kévin Dietrich
2017-02-24Fix T50757: Alembic, assign imported materials to the object dataKévin Dietrich
instead of to the object itself.
2017-02-16Cleanup: IndentationSergey Sharybin
2017-02-15[Alembic] Fix msvc warning - C4138 '*/' found outside of commentlazydodo
2017-02-14Alembic: fix naming of imported transforms.Kévin Dietrich
When importing an Alembic file with grouped transforms, it would badly name the transforms, taking the name of the parent instead of its own. Patch by @maxime.robinot Differential Revision: https://developer.blender.org/D2507
2017-02-10Alembic: fixed mistake in bounding box computationSybren A. Stüvel
By performing the Z-up to Y-up conversion, the change in sign of the Z-coordinate swaps "minimum" and "maximum".
2017-02-08Fix T49249: Alembic export with multiple hair systems crash blenderSybren A. Stüvel
Removed unnecessary call to DM_update_tessface_data(). This call is already performed by DM_ensure_tessface(dm). The call being performed twice caused a failing BLI_assert(). Reviewed by: Kévin Dietrich
2017-02-08Alembic export: avoid infinite loops trying to find parent objects.Sybren A. Stüvel
Also added some assertions for debugging purposes Reviewed by: Kévin Dietrich
2017-02-08Alembic export: only create transform writer if the object should be exportedSybren A. Stüvel
Reviewed by: Kévin Dietrich
2017-02-08Alembic: Use getXForm() in check, because it's used in rest of the function tooSybren A. Stüvel
This makes the code within the function consistent.
2017-02-08Alembic: Renamed copy_zup_yup to copy_yup_from_zup (and same for zup_from_yup)Sybren A. Stüvel
With the new names the arguments (yup, zup) are in the same order as they appear in the function name. The old names used copy_src_dst(dst, src), which I found very confusing. Furthermore, now it is clear from where to where the copy is made. This makes the function names a little bit longer, though. If that is a real issue, we can just name them zup_from_yup(zup, yup). Reviewed by: Kévin Dietrich