利用者:Koilz/2.65.10 DNA Tree AnimData
2.65.10 DNA_Tree AnimData
This is the AnimData struct and sub structs.
Not all the ListBase structs are documented, feel free to make an updated version, dont edit original.
ListBase struct are found by checking code, what allocated structs are passed to the id's, usually via BLI_addtail.
- AnimData->bAction->markers
/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* The Original Code is Copyright (C) 2009 Blender Foundation
* All rights reserved.
*
* The Original Code is: all of this file.
*
* ***** END GPL LICENSE BLOCK *****
*/
// AnimData
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
struct AnimData // DATA ACCESS COMMENT
bAction *action; // bAction* action /* active action - acts as the 'tweaking track' for the NLA */
/* temp-storage for the 'real' active action (i.e. the one used before the tweaking-action */
/* took over to be edited in the Animation Editors) */
bAction *tmpact; // bAction* tmpact
AnimMapper *remap; // AnimMapper* remap /* remapping-info for active action - should only be used if needed (for 'foreign' actions that aren't working correctly) */
ListBase nla_tracks; // NlaTrack nla_tracks /* nla-tracks */
NlaStrip *actstrip; // NlaStrip* actstrip /* active NLA-strip (only set/used during tweaking, so no need to worry about dangling pointers) */
ListBase drivers; // FCurve drivers /* 'drivers' for this ID-block's settings - FCurves, but are completely separate from those for animation data */
/* standard user-created Drivers/Expressions (used as part of a rig) */
ListBase overrides; // AnimOverride overrides /* temp storage (AnimOverride) of values for settings that are animated (but the value hasn't been keyframed) */
int flag; // int flag /* settings for animation evaluation */ /* user-defined settings */
int recalc; // int recalc /* depsgraph recalculation flags */
short act_blendmode; // short act_blendmode /* settings for active action evaluation (based on NLA strip settings) */ /* accumulation mode for active action */
short act_extendmode; // short act_extendmode /* extrapolation mode for active action */
float act_influence; // float act_influence /* influence for active action */
----------------------------------------------------------------
// bAction
// source/blender/makesdna/DNA_action_types.h
----------------------------------------------------------------
struct bAction // DATA ACCESS COMMENT
ID id; // ID id /* ID-serialisation for relinking */
ListBase curves; // FCurve curves /* function-curves (FCurve) */
ListBase chanbase; // bActionChannel chanbase /* legacy data - Action Channels (bActionChannel) in pre-2.5 animation system */
ListBase groups; // bActionGroup groups /* groups of function-curves (bActionGroup) */
ListBase markers; // markers /* markers local to the Action (used to provide Pose-Libraries) */
int flag; // int flag /* settings for this action */
int active_marker; // int active_marker /* index of the active marker */
int idroot; // int idroot /* type of ID-blocks that action can be assigned to (if 0, will be set to whatever ID first evaluates it) */
int pad; // int pad
----------------------------------------------------------------
// AnimMapper
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
AnimMapper // DATA ACCESS COMMENT
struct AnimMapper *next, *prev; // AnimMapper* next, prev
bAction *target; // bAction* target /* target action */
ListBase mappings; // bAnimMapPair mappings /* remapping table (bAnimMapPair) */
----------------------------------------------------------------
// NlaTrack
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
struct NlaTrack // DATA ACCESS COMMENT
struct NlaTrack *next, *prev; // NlaTrack* next, prev
ListBase strips; // bActionStrips strips /* bActionStrips in this track */
int flag; // int flag /* settings for this track */
int index; // int index /* index of the track in the stack (NOTE: not really useful, but we need a pad var anyways!) */
char name[64]; // char name /* short user-description of this track */
----------------------------------------------------------------
// NlaStrip
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
struct NlaStrip // DATA ACCESS COMMENT
struct NlaStrip *next, *prev; // NlaStrip* next, prev
ListBase strips; // (NlaStrip,bActionStrips) strips /* 'Child' strips (used for 'meta' strips) */
bAction *act; // bAction* act /* Action that is referenced by this strip (strip is 'user' of the action) */
AnimMapper *remap; // AnimMapper* remap /* Remapping info this strip (for tweaking correspondence of action with context) */
ListBase fcurves; // FCurve fcurves /* F-Curves for controlling this strip's influence and timing */ // TODO: move out?
ListBase modifiers; // FModifier modifiers /* F-Curve modifiers to be applied to the entire strip's referenced F-Curves */
char name[64]; // char name /* User-Visible Identifier for Strip */
float influence; // float influence /* Influence of strip */
float strip_time; // float strip_time /* Current 'time' within action being used (automatically evaluated, but can be overridden) */
float start, end; // float start, end /* extents of the strip */
float actstart, actend; // float actstart, actend /* range of the action to use */
float repeat; // float repeat /* The number of times to repeat the action range (only when no F-Curves) */
float scale; // float scale /* The amount the action range is scaled by (only when no F-Curves) */
float blendin, blendout; // float blendin, blendout /* strip blending length (only used when there are no F-Curves) */
short blendmode; // short blendmode /* strip blending mode (layer-based mixing) */
short extendmode; // short extendmode /* strip extrapolation mode (time-based mixing) */
short pad1; // short pad1
short type; // short type /* type of NLA strip */
void *speaker_handle; // void* speaker_handle /* handle for speaker objects */
int flag; // int flag /* settings */
int pad2; // int pad2
----------------------------------------------------------------
// FCurve
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
struct FCurve // DATA ACCESS COMMENT
struct FCurve *next, *prev; // FCurve* next, prev
/* group */
bActionGroup *grp; // bActionGroup* grp /* group that F-Curve belongs to */
/* driver settings */
ChannelDriver *driver; // ChannelDriver* driver /* only valid for drivers (i.e. stored in AnimData not Actions) */
/* evaluation settings */
ListBase modifiers; // FModifier modifiers /* FCurve Modifiers */
/* motion data */
BezTriple *bezt; // BezTriple* bezt /* user-editable keyframes (array) */
FPoint *fpt; // FPoint* fpt /* 'baked/imported' motion samples (array) */
unsigned int totvert; // unsigned int totvert /* total number of points which define the curve (i.e. size of arrays in FPoints) */
/* value cache + settings */
float curval; // float curval /* value stored from last time curve was evaluated */
short flag; // short flag /* user-editable settings for this curve */
short extend; // short extend /* value-extending mode for this curve (does not cover */
/* RNA - data link */
int array_index; // int array_index /* if applicable, the index of the RNA-array item to get */
char *rna_path; // char* rna_path /* RNA-path to resolve data-access */
/* curve coloring (for editor) */
int color_mode; // int color_mode /* coloring method to use (eFCurve_Coloring) */
float color[3]; // float color /* the last-color this curve took */
----------------------------------------------------------------
// AnimOverride
// source/blender/makesdna/DNA_anim_types.h
----------------------------------------------------------------
struct AnimOverride // DATA ACCESS COMMENT
struct AnimOverride *next, *prev; // AnimOverride* next, prev
char *rna_path; // char* rna_path /* RNA-path to use to resolve data-access */
int array_index; // int array_index /* if applicable, the index of the RNA-array item to get */
float value; // float value /* value to override setting with */
----------------------------------------------------------------
File structs.
----------------------------------------------------------------
source/blender/makesdna/DNA_anim_types.h
FModifier
FMod_Generator
FMod_FunctionGenerator
FCM_EnvelopeData
FMod_Envelope
FMod_Cycles
FMod_Python
FMod_Limits
FMod_Noise
FMod_Stepped
DriverTarget
DriverVar
ChannelDriver
FPoint
FCurve
AnimMapPair
AnimMapper
NlaStrip
NlaTrack
KS_Path
KeyingSet
AnimOverride
AnimData
IdAdtTemplate
source/blender/makesdna/DNA_action_types.h
bMotionPathVert
bMotionPath
bAnimVizSettings
bPoseChannel
bPose
bIKParam
bItasc
bActionGroup
bAction
bDopeSheet
SpaceAction
bActionChannel
----------------------------------------------------------------