Blender Git Commits

Blender Git "collada2.8" branch commits.

Page: 3 / 7

August 2, 2018, 17:16 (GMT)
Refactor Collada: Make BCAnimation class more self contained

Follwing funtionality was previously located in
BCAnimationSampler, but makes not much sense there:

* Moved the creation of the reference object into the Class constructor
* Moved the destruction of the reference to the Destructor

Furthermore:

* added get_reference() to better shield the rerference object from
unintentional access
* BCAnimationObjectMap now contains Pointers to BCAnimation objects
instead of containing full object instances. This avoids unnecessary
copying of the Animation datastructures when adding BCAnimation objects
to the BCAnimationObjectMap. Note: This forces us to delete the BCAnimation
objects in the BCAnimationSampler destructor.
August 2, 2018, 17:12 (GMT)
Refactor Collada: Removed obsolete BCKeyPoint class

Also simplified the way how the AnimationSampler
stores its sampled data.

After some experimenting i decided to use FCurves as
intermediate storage for exported animation curves.
This looks a lot cleaner to me now because now i no
longer have duplicate storage locations.
Also the handling of curve handles is now pretty much straight
forward and no longer needs any extra calculations.
August 2, 2018, 17:09 (GMT)
Feature Collada: Add support for Continuous Acceleration (Fcurve handles)

This allows us to create smoother FCurves during importing Collada
Animation curves. Possibly this should become an option ionstead of
a fixed import feature.
August 2, 2018, 17:07 (GMT)
Refactor Collada: use BCKeyPoint to construct the exported FCurves

Before the handles where taken from the FCurves. But this caused
odd behavior when exporting Object hierarhcies with parent_inverse
matrices. Then the handles where calculated wrong. Now there wil be no
handles for those cases. (we might still consider to optionally
generate handles here (to be decided)
August 2, 2018, 16:59 (GMT)
Refactor Collada: Moved check for animated curve one level up

This avoid to call the curve exporter for every curve,
regardless i it is actually exported or not.
August 2, 2018, 16:59 (GMT)
Refactopr Collada: Changed BCValueMap to contain Values+curve handles

This makes it easiuer to later construct the export curves.
This may later be removed again in favor of storing the data
within the FCurves themself. (I am still somewhat undecided here)
August 2, 2018, 16:44 (GMT)
Refactor Collada: Changed BCAnimationCurve methods to const methods
August 2, 2018, 16:44 (GMT)
Refactor Collada: Added new Class BCKeyPoint
August 2, 2018, 16:44 (GMT)
Refactor Collada: Removed unused parameter from method

BCAnimationCurve::add_value(const float val, const int frame_index)
August 2, 2018, 16:44 (GMT)
Fix Collada: Keep existing FCurves available in Sampler

The FCurves are needed when we export Keyframes. In that case
we want to preserve the tangent data. Hence we want to keep
the original FCurves available while exporting.
August 2, 2018, 16:44 (GMT)
Collada refactor: Added meaningful Constructor for BCAnimationSampler

The processing was unnecessarily split into creating the Sampler
and initialising it later. This can safely be done in one go
within a Sampler constructor

Also removed the not needed reference to the Sampler inside
the AnimationExporter instance. The Sampler is now a simple
local variable in AnimationExporter::exportAnimations()
August 2, 2018, 16:40 (GMT)
Cleanup Collada: Removed unneeded Constructor
August 2, 2018, 16:35 (GMT)
Refactor Collada: Renamed Enumerations to avoid confusion

The Curve animation type enumeration looked almost identical
to the enumeration that describes if the exporter shall
export sample frames or keyframes.

Details

old names:
BC_ANIMATION_TYPE_SAMPLE,
BC_ANIMATION_TYPE_KEYS

replaced by the more descriptive names:
BC_ANIMATION_EXPORT_SAMPLES,
BC_ANIMATION_EXPORT_KEYS
August 2, 2018, 16:35 (GMT)
Refactor Collada: moved Object sampling code into its own private method
August 2, 2018, 16:35 (GMT)
Refactor: Moved unrelated class methods to collada_utils
August 2, 2018, 16:35 (GMT)
Refactor: Renamed classes, updated comments for better reading
August 2, 2018, 16:33 (GMT)
Cleanup collada: improved class description comment
August 2, 2018, 16:33 (GMT)
Refactor Collada: Moved static class functions to collada_utils

Reason: The functions had nothing to do with the class
August 2, 2018, 16:33 (GMT)
Cleanup Collada: moved typedefs to more intuitive locations
August 2, 2018, 16:31 (GMT)
cleanup: indentation and class method declarations
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021