Blender
V3.3
|
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_endian_switch.h"
#include "BLI_math.h"
#include "BLI_memarena.h"
#include "BLI_utildefines.h"
#include "IMB_imbuf.h"
#include "DNA_defaults.h"
#include "DNA_armature_types.h"
#include "DNA_asset_types.h"
#include "DNA_brush_types.h"
#include "DNA_cachefile_types.h"
#include "DNA_camera_types.h"
#include "DNA_cloth_types.h"
#include "DNA_collection_types.h"
#include "DNA_curve_types.h"
#include "DNA_curves_types.h"
#include "DNA_fluid_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_image_types.h"
#include "DNA_key_types.h"
#include "DNA_lattice_types.h"
#include "DNA_light_types.h"
#include "DNA_lightprobe_types.h"
#include "DNA_linestyle_types.h"
#include "DNA_mask_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_modifier_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_object_types.h"
#include "DNA_particle_types.h"
#include "DNA_pointcloud_types.h"
#include "DNA_scene_types.h"
#include "DNA_simulation_types.h"
#include "DNA_space_types.h"
#include "DNA_speaker_types.h"
#include "DNA_texture_types.h"
#include "DNA_volume_types.h"
#include "DNA_world_types.h"
#include "DNA_armature_defaults.h"
#include "DNA_asset_defaults.h"
#include "DNA_brush_defaults.h"
#include "DNA_cachefile_defaults.h"
#include "DNA_camera_defaults.h"
#include "DNA_collection_defaults.h"
#include "DNA_curve_defaults.h"
#include "DNA_curves_defaults.h"
#include "DNA_fluid_defaults.h"
#include "DNA_gpencil_modifier_defaults.h"
#include "DNA_image_defaults.h"
#include "DNA_lattice_defaults.h"
#include "DNA_light_defaults.h"
#include "DNA_lightprobe_defaults.h"
#include "DNA_linestyle_defaults.h"
#include "DNA_material_defaults.h"
#include "DNA_mesh_defaults.h"
#include "DNA_meta_defaults.h"
#include "DNA_modifier_defaults.h"
#include "DNA_movieclip_defaults.h"
#include "DNA_object_defaults.h"
#include "DNA_particle_defaults.h"
#include "DNA_pointcloud_defaults.h"
#include "DNA_scene_defaults.h"
#include "DNA_simulation_defaults.h"
#include "DNA_space_defaults.h"
#include "DNA_speaker_defaults.h"
#include "DNA_texture_defaults.h"
#include "DNA_volume_defaults.h"
#include "DNA_world_defaults.h"
Go to the source code of this file.
Macros | |
#define | DNA_DEPRECATED_ALLOW |
#define | SDNA_DEFAULT_DECL_STRUCT(struct_name) static const struct_name DNA_DEFAULT_##struct_name = _DNA_DEFAULT_##struct_name |
#define | DNA_DEFAULT_UserDef U_default |
#define | DNA_DEFAULT_bTheme U_theme_default |
#define | SDNA_TYPE_CHECKED(v, t) (&(v)) |
#define | SDNA_DEFAULT_DECL(struct_name) [SDNA_TYPE_FROM_STRUCT(struct_name)] = SDNA_TYPE_CHECKED(DNA_DEFAULT_##struct_name, struct_name) |
#define | SDNA_DEFAULT_DECL_EX(struct_name, struct_path) [SDNA_TYPE_FROM_STRUCT(struct_name)] = SDNA_TYPE_CHECKED(DNA_DEFAULT_##struct_path, struct_name) |
Variables | |
const struct UserDef | U_default |
const bTheme | U_theme_default |
const void * | DNA_default_table [SDNA_TYPE_MAX] |
This API provides direct access to DNA default structs to avoid duplicating values for initialization, versioning and RNA. This allows DNA default definitions to be defined in a single header along side the types. So each DNA_{name}_types.h
can have an optional DNA_{name}_defaults.h
file along side it.
Defining the defaults is optional since it doesn't make sense for some structs to have defaults.
Adding/removing defaults for existing structs can be done by hand. When adding new defaults for larger structs you may want to write-out the in-memory data.
To create these defaults there is a GDB script which can be handy to get started: ./source/tools/utils/gdb_struct_repr_c99.py
Magic numbers should be replaced with flags before committing.
The main functions to access these are:
These access the struct table DNA_default_table using the struct number.
While there is no restriction for using these defaults, it's worth noting where these functions are typically used:
These defaults are not used:
versioning_{BLENDER_VERSION}.c
source files.Definition in file dna_defaults.c.
#define DNA_DEFAULT_bTheme U_theme_default |
Definition at line 328 of file dna_defaults.c.
Definition at line 325 of file dna_defaults.c.
#define DNA_DEPRECATED_ALLOW |
Definition at line 55 of file dna_defaults.c.
#define SDNA_DEFAULT_DECL | ( | struct_name | ) | [SDNA_TYPE_FROM_STRUCT(struct_name)] = SDNA_TYPE_CHECKED(DNA_DEFAULT_##struct_name, struct_name) |
Definition at line 339 of file dna_defaults.c.
#define SDNA_DEFAULT_DECL_EX | ( | struct_name, | |
struct_path | |||
) | [SDNA_TYPE_FROM_STRUCT(struct_name)] = SDNA_TYPE_CHECKED(DNA_DEFAULT_##struct_path, struct_name) |
Definition at line 342 of file dna_defaults.c.
#define SDNA_DEFAULT_DECL_STRUCT | ( | struct_name | ) | static const struct_name DNA_DEFAULT_##struct_name = _DNA_DEFAULT_##struct_name |
Definition at line 138 of file dna_defaults.c.
Prevent assigning the wrong struct types since all elements in DNA_default_table are void *
.
Definition at line 336 of file dna_defaults.c.
uint8_t* _DNA_struct_default_alloc_impl | ( | const uint8_t * | data_src, |
size_t | size, | ||
const char * | alloc_str | ||
) |
Definition at line 564 of file dna_defaults.c.
References MEM_mallocN, and size().
SDNA_DEFAULT_DECL_STRUCT | ( | ArmatureGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ArmatureModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ArrayGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ArrayModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | AssetLibraryReference | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | AssetMetaData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | bArmature | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | BevelModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | BooleanModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Brush | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | BuildGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | BuildModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | CacheFile | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Camera | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | CastModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ClothCollSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ClothModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ClothSimSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Collection | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | CollisionModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ColorGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | CorrectiveSmoothModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Curve | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | CurveModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Curves | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | DashGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | DashGpencilModifierSegment | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | DecimateModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | DisplaceModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | DynamicPaintModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | EdgeSplitModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | EnvelopeGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ExplodeModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | FluidDomainSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | FluidEffectorSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | FluidFlowSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | FreestyleLineStyle | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | HookGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | HookModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Image | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LaplacianDeformModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LaplacianSmoothModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Lattice | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LatticeGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LatticeModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LengthGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Light | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LightProbe | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | LineartGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MaskModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Material | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Mesh | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MeshCacheModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MeshDeformModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MeshSeqCacheModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MetaBall | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MirrorGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MirrorModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MovieClip | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MovieClipScopes | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MovieClipUser | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MultiplyGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | MultiresModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | NodesModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | NoiseGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | NormalEditModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Object | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | OceanModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | OffsetGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | OpacityGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ParticleInstanceModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ParticleSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ParticleSystemModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | PointCloud | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | RemeshModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Scene | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ScrewModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ShrinkwrapGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ShrinkwrapModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SimpleDeformModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SimplifyGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Simulation | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SkinModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SmoothGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SmoothModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SolidifyModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SpaceClip | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Speaker | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SubdivGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SubsurfModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SurfaceDeformModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | SurfaceModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Tex | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | TextureGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ThickGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | TimeGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | TintGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | ToolSettings | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | TriangulateModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | UVProjectModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | UVWarpModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | View3D | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | Volume | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WarpModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WaveModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightAngleGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightedNormalModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightProxGpencilModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightVGEditModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightVGMixModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeightVGProximityModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WeldModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | WireframeModifierData | ) |
SDNA_DEFAULT_DECL_STRUCT | ( | World | ) |
const void* DNA_default_table[SDNA_TYPE_MAX] |
Keep headers sorted.
Definition at line 346 of file dna_defaults.c.
Referenced by RNA_def_property_boolean_sdna(), RNA_def_property_enum_sdna(), RNA_def_property_float_sdna(), RNA_def_property_int_sdna(), and RNA_def_property_string_sdna().
|
extern |
|
extern |