Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey@blender.org>2022-04-12 11:56:51 +0300
committerSergey Sharybin <sergey@blender.org>2022-04-13 12:48:12 +0300
commit25c357124de8905360c44a5a842284089ddec341 (patch)
treed7f7de7c459d622366ba5b0a7caec720c97f35c7 /source/blender/makesdna
parentda66c0519fce9bff981370868a359e64198552bc (diff)
Cover some DNA files with C++ utility macros
Solves compilation warning with Clang, and moves manipulation with DNA structures to the designed way for C++. The tests and few other places are update to the new code by Jacques. Ref T96847 Maniphest Tasks: T96847 Differential Revision: https://developer.blender.org/D14625
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r--source/blender/makesdna/DNA_curve_types.h6
-rw-r--r--source/blender/makesdna/DNA_lattice_types.h4
-rw-r--r--source/blender/makesdna/DNA_light_types.h2
-rw-r--r--source/blender/makesdna/DNA_linestyle_types.h82
-rw-r--r--source/blender/makesdna/DNA_material_types.h6
-rw-r--r--source/blender/makesdna/DNA_mesh_types.h8
-rw-r--r--source/blender/makesdna/DNA_simulation_types.h2
-rw-r--r--source/blender/makesdna/DNA_texture_types.h5
-rw-r--r--source/blender/makesdna/DNA_world_types.h2
9 files changed, 117 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index 556e467c4b6..305b913b19e 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -127,6 +127,8 @@ typedef struct BPoint {
* also, it should be NURBS (Nurb isn't the singular of Nurbs).
*/
typedef struct Nurb {
+ DNA_DEFINE_CXX_METHODS(Nurb)
+
/** Multiple nurbs per curve object are allowed. */
struct Nurb *next, *prev;
short type;
@@ -169,6 +171,8 @@ typedef struct TextBox {
#
#
typedef struct EditNurb {
+ DNA_DEFINE_CXX_METHODS(EditNurb)
+
/* base of nurbs' list (old Curve->editnurb) */
ListBase nurbs;
@@ -187,6 +191,8 @@ typedef struct EditNurb {
} EditNurb;
typedef struct Curve {
+ DNA_DEFINE_CXX_METHODS(Curve)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_lattice_types.h b/source/blender/makesdna/DNA_lattice_types.h
index b2775aa771a..907f1150ce5 100644
--- a/source/blender/makesdna/DNA_lattice_types.h
+++ b/source/blender/makesdna/DNA_lattice_types.h
@@ -23,6 +23,8 @@ struct MDeformVert;
#
#
typedef struct EditLatt {
+ DNA_DEFINE_CXX_METHODS(EditLatt)
+
struct Lattice *latt;
int shapenr;
@@ -35,6 +37,8 @@ typedef struct EditLatt {
} EditLatt;
typedef struct Lattice {
+ DNA_DEFINE_CXX_METHODS(Lattice)
+
ID id;
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_light_types.h b/source/blender/makesdna/DNA_light_types.h
index e78a381603b..9202d7c2d51 100644
--- a/source/blender/makesdna/DNA_light_types.h
+++ b/source/blender/makesdna/DNA_light_types.h
@@ -24,6 +24,8 @@ struct Ipo;
struct bNodeTree;
typedef struct Light {
+ DNA_DEFINE_CXX_METHODS(Light)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_linestyle_types.h b/source/blender/makesdna/DNA_linestyle_types.h
index b8279e7f2ca..0755803ea8f 100644
--- a/source/blender/makesdna/DNA_linestyle_types.h
+++ b/source/blender/makesdna/DNA_linestyle_types.h
@@ -29,6 +29,8 @@ struct Object;
struct bNodeTree;
typedef struct LineStyleModifier {
+ DNA_DEFINE_CXX_METHODS(LineStyleModifier)
+
struct LineStyleModifier *next, *prev;
/** MAX_NAME. */
@@ -92,12 +94,16 @@ typedef struct LineStyleModifier {
/* Along Stroke modifiers */
typedef struct LineStyleColorModifier_AlongStroke {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_AlongStroke)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
} LineStyleColorModifier_AlongStroke;
typedef struct LineStyleAlphaModifier_AlongStroke {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_AlongStroke)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -106,6 +112,8 @@ typedef struct LineStyleAlphaModifier_AlongStroke {
} LineStyleAlphaModifier_AlongStroke;
typedef struct LineStyleThicknessModifier_AlongStroke {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_AlongStroke)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -117,6 +125,8 @@ typedef struct LineStyleThicknessModifier_AlongStroke {
/* Distance from Camera modifiers */
typedef struct LineStyleColorModifier_DistanceFromCamera {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_DistanceFromCamera)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
@@ -124,6 +134,8 @@ typedef struct LineStyleColorModifier_DistanceFromCamera {
} LineStyleColorModifier_DistanceFromCamera;
typedef struct LineStyleAlphaModifier_DistanceFromCamera {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_DistanceFromCamera)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -133,6 +145,8 @@ typedef struct LineStyleAlphaModifier_DistanceFromCamera {
} LineStyleAlphaModifier_DistanceFromCamera;
typedef struct LineStyleThicknessModifier_DistanceFromCamera {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_DistanceFromCamera)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -145,6 +159,8 @@ typedef struct LineStyleThicknessModifier_DistanceFromCamera {
/* Distance from Object modifiers */
typedef struct LineStyleColorModifier_DistanceFromObject {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_DistanceFromObject)
+
struct LineStyleModifier modifier;
struct Object *target;
@@ -153,6 +169,8 @@ typedef struct LineStyleColorModifier_DistanceFromObject {
} LineStyleColorModifier_DistanceFromObject;
typedef struct LineStyleAlphaModifier_DistanceFromObject {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_DistanceFromObject)
+
struct LineStyleModifier modifier;
struct Object *target;
@@ -163,6 +181,8 @@ typedef struct LineStyleAlphaModifier_DistanceFromObject {
} LineStyleAlphaModifier_DistanceFromObject;
typedef struct LineStyleThicknessModifier_DistanceFromObject {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_DistanceFromObject)
+
struct LineStyleModifier modifier;
struct Object *target;
@@ -176,6 +196,8 @@ typedef struct LineStyleThicknessModifier_DistanceFromObject {
/* 3D curvature modifiers */
typedef struct LineStyleColorModifier_Curvature_3D {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_Curvature_3D)
+
struct LineStyleModifier modifier;
float min_curvature, max_curvature;
@@ -184,6 +206,8 @@ typedef struct LineStyleColorModifier_Curvature_3D {
} LineStyleColorModifier_Curvature_3D;
typedef struct LineStyleAlphaModifier_Curvature_3D {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_Curvature_3D)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -193,6 +217,8 @@ typedef struct LineStyleAlphaModifier_Curvature_3D {
} LineStyleAlphaModifier_Curvature_3D;
typedef struct LineStyleThicknessModifier_Curvature_3D {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_Curvature_3D)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -205,6 +231,8 @@ typedef struct LineStyleThicknessModifier_Curvature_3D {
/* Noise modifiers (for color, alpha and thickness) */
typedef struct LineStyleColorModifier_Noise {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_Noise)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
@@ -214,6 +242,8 @@ typedef struct LineStyleColorModifier_Noise {
} LineStyleColorModifier_Noise;
typedef struct LineStyleAlphaModifier_Noise {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_Noise)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -223,6 +253,8 @@ typedef struct LineStyleAlphaModifier_Noise {
} LineStyleAlphaModifier_Noise;
typedef struct LineStyleThicknessModifier_Noise {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_Noise)
+
struct LineStyleModifier modifier;
float period, amplitude;
@@ -233,6 +265,8 @@ typedef struct LineStyleThicknessModifier_Noise {
/* Crease Angle modifiers */
typedef struct LineStyleColorModifier_CreaseAngle {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_CreaseAngle)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
@@ -240,6 +274,8 @@ typedef struct LineStyleColorModifier_CreaseAngle {
} LineStyleColorModifier_CreaseAngle;
typedef struct LineStyleAlphaModifier_CreaseAngle {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_CreaseAngle)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -249,6 +285,8 @@ typedef struct LineStyleAlphaModifier_CreaseAngle {
} LineStyleAlphaModifier_CreaseAngle;
typedef struct LineStyleThicknessModifier_CreaseAngle {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_CreaseAngle)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -261,12 +299,16 @@ typedef struct LineStyleThicknessModifier_CreaseAngle {
/* Tangent modifiers */
typedef struct LineStyleColorModifier_Tangent {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_Tangent)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
} LineStyleColorModifier_Tangent;
typedef struct LineStyleAlphaModifier_Tangent {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_Tangent)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -275,6 +317,8 @@ typedef struct LineStyleAlphaModifier_Tangent {
} LineStyleAlphaModifier_Tangent;
typedef struct LineStyleThicknessModifier_Tangent {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_Tangent)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -303,6 +347,8 @@ typedef struct LineStyleThicknessModifier_Tangent {
#define LS_MODIFIER_MATERIAL_LINE_A 15
typedef struct LineStyleColorModifier_Material {
+ DNA_DEFINE_CXX_METHODS(LineStyleColorModifier_Material)
+
struct LineStyleModifier modifier;
struct ColorBand *color_ramp;
@@ -311,6 +357,8 @@ typedef struct LineStyleColorModifier_Material {
} LineStyleColorModifier_Material;
typedef struct LineStyleAlphaModifier_Material {
+ DNA_DEFINE_CXX_METHODS(LineStyleAlphaModifier_Material)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -319,6 +367,8 @@ typedef struct LineStyleAlphaModifier_Material {
} LineStyleAlphaModifier_Material;
typedef struct LineStyleThicknessModifier_Material {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_Material)
+
struct LineStyleModifier modifier;
struct CurveMapping *curve;
@@ -330,6 +380,8 @@ typedef struct LineStyleThicknessModifier_Material {
/* Geometry modifiers */
typedef struct LineStyleGeometryModifier_Sampling {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_Sampling)
+
struct LineStyleModifier modifier;
float sampling;
@@ -337,6 +389,8 @@ typedef struct LineStyleGeometryModifier_Sampling {
} LineStyleGeometryModifier_Sampling;
typedef struct LineStyleGeometryModifier_BezierCurve {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_BezierCurve)
+
struct LineStyleModifier modifier;
float error;
@@ -344,6 +398,8 @@ typedef struct LineStyleGeometryModifier_BezierCurve {
} LineStyleGeometryModifier_BezierCurve;
typedef struct LineStyleGeometryModifier_SinusDisplacement {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_SinusDisplacement)
+
struct LineStyleModifier modifier;
float wavelength, amplitude, phase;
@@ -355,6 +411,8 @@ typedef struct LineStyleGeometryModifier_SinusDisplacement {
#define LS_MODIFIER_SPATIAL_NOISE_PURERANDOM 2
typedef struct LineStyleGeometryModifier_SpatialNoise {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_SpatialNoise)
+
struct LineStyleModifier modifier;
float amplitude, scale;
@@ -363,6 +421,8 @@ typedef struct LineStyleGeometryModifier_SpatialNoise {
} LineStyleGeometryModifier_SpatialNoise;
typedef struct LineStyleGeometryModifier_PerlinNoise1D {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_PerlinNoise1D)
+
struct LineStyleModifier modifier;
float frequency, amplitude;
@@ -374,6 +434,8 @@ typedef struct LineStyleGeometryModifier_PerlinNoise1D {
} LineStyleGeometryModifier_PerlinNoise1D;
typedef struct LineStyleGeometryModifier_PerlinNoise2D {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_PerlinNoise2D)
+
struct LineStyleModifier modifier;
float frequency, amplitude;
@@ -385,6 +447,8 @@ typedef struct LineStyleGeometryModifier_PerlinNoise2D {
} LineStyleGeometryModifier_PerlinNoise2D;
typedef struct LineStyleGeometryModifier_BackboneStretcher {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_BackboneStretcher)
+
struct LineStyleModifier modifier;
float backbone_length;
@@ -392,6 +456,8 @@ typedef struct LineStyleGeometryModifier_BackboneStretcher {
} LineStyleGeometryModifier_BackboneStretcher;
typedef struct LineStyleGeometryModifier_TipRemover {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_TipRemover)
+
struct LineStyleModifier modifier;
float tip_length;
@@ -399,6 +465,8 @@ typedef struct LineStyleGeometryModifier_TipRemover {
} LineStyleGeometryModifier_TipRemover;
typedef struct LineStyleGeometryModifier_Polygonalization {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_Polygonalization)
+
struct LineStyleModifier modifier;
float error;
@@ -406,6 +474,8 @@ typedef struct LineStyleGeometryModifier_Polygonalization {
} LineStyleGeometryModifier_Polygonalization;
typedef struct LineStyleGeometryModifier_GuidingLines {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_GuidingLines)
+
struct LineStyleModifier modifier;
float offset;
@@ -418,6 +488,8 @@ typedef struct LineStyleGeometryModifier_GuidingLines {
#define LS_MODIFIER_BLUEPRINT_SQUARES 4
typedef struct LineStyleGeometryModifier_Blueprint {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_Blueprint)
+
struct LineStyleModifier modifier;
int flags;
@@ -429,6 +501,8 @@ typedef struct LineStyleGeometryModifier_Blueprint {
} LineStyleGeometryModifier_Blueprint;
typedef struct LineStyleGeometryModifier_2DOffset {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_2DOffset)
+
struct LineStyleModifier modifier;
float start, end;
@@ -443,6 +517,8 @@ typedef struct LineStyleGeometryModifier_2DOffset {
#define LS_MODIFIER_2D_TRANSFORM_PIVOT_ABSOLUTE 5
typedef struct LineStyleGeometryModifier_2DTransform {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_2DTransform)
+
struct LineStyleModifier modifier;
int pivot;
@@ -455,6 +531,8 @@ typedef struct LineStyleGeometryModifier_2DTransform {
} LineStyleGeometryModifier_2DTransform;
typedef struct LineStyleGeometryModifier_Simplification {
+ DNA_DEFINE_CXX_METHODS(LineStyleGeometryModifier_Simplification)
+
struct LineStyleModifier modifier;
float tolerance;
@@ -464,6 +542,8 @@ typedef struct LineStyleGeometryModifier_Simplification {
/* Calligraphic thickness modifier */
typedef struct LineStyleThicknessModifier_Calligraphy {
+ DNA_DEFINE_CXX_METHODS(LineStyleThicknessModifier_Calligraphy)
+
struct LineStyleModifier modifier;
float min_thickness, max_thickness;
@@ -527,6 +607,8 @@ typedef struct LineStyleThicknessModifier_Calligraphy {
#define LS_INTEGRATION_LAST 5
typedef struct FreestyleLineStyle {
+ DNA_DEFINE_CXX_METHODS(FreestyleLineStyle)
+
ID id;
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index b535d3cdb8a..38e99896ab1 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -27,6 +27,8 @@ struct bNodeTree;
/* WATCH IT: change type? also make changes in ipo.h */
typedef struct TexPaintSlot {
+ DNA_DEFINE_CXX_METHODS(TexPaintSlot)
+
/** Image to be painted on. Mutual exclusive with attribute_name. */
struct Image *ima;
/** Custom-data index for uv layer, #MAX_NAME. */
@@ -43,6 +45,8 @@ typedef struct TexPaintSlot {
} TexPaintSlot;
typedef struct MaterialGPencilStyle {
+ DNA_DEFINE_CXX_METHODS(MaterialGPencilStyle)
+
/** Texture image for strokes. */
struct Image *sima;
/** Texture image for filling. */
@@ -155,6 +159,8 @@ typedef enum eMaterialLineArtFlags {
} eMaterialLineArtFlags;
typedef struct Material {
+ DNA_DEFINE_CXX_METHODS(Material)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_mesh_types.h b/source/blender/makesdna/DNA_mesh_types.h
index d8a853681fd..0ff9ebb2337 100644
--- a/source/blender/makesdna/DNA_mesh_types.h
+++ b/source/blender/makesdna/DNA_mesh_types.h
@@ -50,6 +50,8 @@ typedef struct EditMeshData {
* #BKE_mesh_runtime_looptri_ensure, #BKE_mesh_runtime_looptri_len.
*/
struct MLoopTri_Store {
+ DNA_DEFINE_CXX_METHODS(MLoopTri_Store)
+
/* WARNING! swapping between array (ready-to-be-used data) and array_wip
* (where data is actually computed)
* shall always be protected by same lock as one used for looptris computing. */
@@ -60,6 +62,8 @@ struct MLoopTri_Store {
/** Runtime data, not saved in files. */
typedef struct Mesh_Runtime {
+ DNA_DEFINE_CXX_METHODS(Mesh_Runtime)
+
/* Evaluated mesh for objects which do not have effective modifiers.
* This mesh is used as a result of modifier stack evaluation.
* Since modifier stack evaluation is threaded on object level we need some synchronization. */
@@ -138,6 +142,8 @@ typedef struct Mesh_Runtime {
} Mesh_Runtime;
typedef struct Mesh {
+ DNA_DEFINE_CXX_METHODS(Mesh)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
@@ -336,6 +342,8 @@ typedef struct Mesh {
/* deprecated by MTFace, only here for file reading */
#ifdef DNA_DEPRECATED_ALLOW
typedef struct TFace {
+ DNA_DEFINE_CXX_METHODS(TFace)
+
/** The faces image for the active UVLayer. */
void *tpage;
float uv[4][2];
diff --git a/source/blender/makesdna/DNA_simulation_types.h b/source/blender/makesdna/DNA_simulation_types.h
index 4b2df1ddbfb..4bbbe9cd4e8 100644
--- a/source/blender/makesdna/DNA_simulation_types.h
+++ b/source/blender/makesdna/DNA_simulation_types.h
@@ -14,6 +14,8 @@ extern "C" {
#endif
typedef struct Simulation {
+ DNA_DEFINE_CXX_METHODS(Simulation)
+
ID id;
struct AnimData *adt; /* animation data (must be immediately after id) */
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index dab3a1b331e..b725939dbab 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -25,6 +25,7 @@ struct PreviewImage;
struct Tex;
typedef struct MTex {
+ DNA_DEFINE_CXX_METHODS(MTex)
short texco, mapto, maptoneg, blendtype;
struct Object *object;
@@ -96,6 +97,8 @@ typedef struct ColorBand {
} ColorBand;
typedef struct PointDensity {
+ DNA_DEFINE_CXX_METHODS(PointDensity)
+
short flag;
short falloff_type;
@@ -143,6 +146,8 @@ typedef struct PointDensity {
} PointDensity;
typedef struct Tex {
+ DNA_DEFINE_CXX_METHODS(Tex)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;
diff --git a/source/blender/makesdna/DNA_world_types.h b/source/blender/makesdna/DNA_world_types.h
index 88f2e0c9407..bd2ba1e3bf7 100644
--- a/source/blender/makesdna/DNA_world_types.h
+++ b/source/blender/makesdna/DNA_world_types.h
@@ -27,6 +27,8 @@ struct bNodeTree;
* World defines general modeling data such as a background fill,
* gravity, color model etc. It mixes rendering data and modeling data. */
typedef struct World {
+ DNA_DEFINE_CXX_METHODS(World)
+
ID id;
/** Animation data (must be immediately after id for utilities to use it). */
struct AnimData *adt;