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 |
|