parameters: (self, scene, ref_id, force_keep=False)
docstring: Yield final anim data for this 'curvenode' (for all curvenodes defined).
          force_keep is to force to keep a curve even if it only has one valid keyframe.
docstring_summary: Yield final anim data for this 'curvenode' (for all curvenodes defined).
          force_keep is to force to keep a curve even if it only has one valid keyframe.
docstring_tokens: Yield final anim data for this curvenode ( for all curvenodes defined ) . force_keep is to force to keep a curve even if it only has one valid keyframe .
function: def get_final_data(self, scene, ref_id, force_keep=False):
          """
          Yield final anim data for this 'curvenode' (for all curvenodes defined).
          force_keep is to force to keep a curve even if it only has one valid keyframe.
          """
          curves = [[] for k in self._keys[0][1]]
          for currframe, key, key_write in self._keys:
              for curve, val, wrt in zip(curves, key, key_write):
                  if wrt:
                      curve.append((currframe, val))
  
          force_keep = force_keep or self.force_keying
          for elem_key, fbx_group, fbx_gname, fbx_props in \
              zip(self.elem_keys, self.fbx_group, self.fbx_gname, self.fbx_props):
              group_key = get_blender_anim_curve_node_key(scene, ref_id, elem_key, fbx_group)
              group = OrderedDict()
              for c, def_val, fbx_item in zip(curves, self.default_values, fbx_props):
                  fbx_item = FBX_ANIM_PROPSGROUP_NAME + "|" + fbx_item
                  curve_key = get_blender_anim_curve_key(scene, ref_id, elem_key, fbx_group, fbx_item)
                  # (curve key, default value, keyframes, write flag).
                  group[fbx_item] = (curve_key, def_val, c,
                                     True if (len(c) > 1 or (len(c) > 0 and force_keep)) else False)
              yield elem_key, group_key, group, fbx_group, fbx_gname
function_tokens: def get_final_data ( self , scene , ref_id , force_keep = False ) : curves = [ [ ] for k in self . _keys [ 0 ] [ 1 ] ] for currframe , key , key_write in self . _keys : for curve , val , wrt in zip ( curves , key , key_write ) : if wrt : curve . append ( ( currframe , val ) ) force_keep = force_keep or self . force_keying for elem_key , fbx_group , fbx_gname , fbx_props in zip ( self . elem_keys , self . fbx_group , self . fbx_gname , self . fbx_props ) : group_key = get_blender_anim_curve_node_key ( scene , ref_id , elem_key , fbx_group ) group = OrderedDict ( ) for c , def_val , fbx_item in zip ( curves , self . default_values , fbx_props ) : fbx_item = FBX_ANIM_PROPSGROUP_NAME + "|" + fbx_item curve_key = get_blender_anim_curve_key ( scene , ref_id , elem_key , fbx_group , fbx_item ) # (curve key, default value, keyframes, write flag). group [ fbx_item ] = ( curve_key , def_val , c , True if ( len ( c ) > 1 or ( len ( c ) > 0 and force_keep ) ) else False ) yield elem_key , group_key , group , fbx_group , fbx_gname