Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesdna/DNA_modifier_types.h
| Show First 20 Lines • Show All 89 Lines • ▼ Show 20 Lines | #endif | ||||
| eModifierType_NormalEdit = 50, | eModifierType_NormalEdit = 50, | ||||
| eModifierType_CorrectiveSmooth = 51, | eModifierType_CorrectiveSmooth = 51, | ||||
| eModifierType_MeshSequenceCache = 52, | eModifierType_MeshSequenceCache = 52, | ||||
| eModifierType_SurfaceDeform = 53, | eModifierType_SurfaceDeform = 53, | ||||
| eModifierType_WeightedNormal = 54, | eModifierType_WeightedNormal = 54, | ||||
| eModifierType_Weld = 55, | eModifierType_Weld = 55, | ||||
| eModifierType_Fluid = 56, | eModifierType_Fluid = 56, | ||||
| eModifierType_Simulation = 57, | eModifierType_Simulation = 57, | ||||
| eModifierType_VoxelMesher = 58, | |||||
| NUM_MODIFIER_TYPES, | NUM_MODIFIER_TYPES, | ||||
| } ModifierType; | } ModifierType; | ||||
| typedef enum ModifierMode { | typedef enum ModifierMode { | ||||
| eModifierMode_Realtime = (1 << 0), | eModifierMode_Realtime = (1 << 0), | ||||
| eModifierMode_Render = (1 << 1), | eModifierMode_Render = (1 << 1), | ||||
| eModifierMode_Editmode = (1 << 2), | eModifierMode_Editmode = (1 << 2), | ||||
| eModifierMode_OnCage = (1 << 3), | eModifierMode_OnCage = (1 << 3), | ||||
| ▲ Show 20 Lines • Show All 1,566 Lines • ▼ Show 20 Lines | typedef enum eRemeshModifierMode { | ||||
| /* smooth */ | /* smooth */ | ||||
| MOD_REMESH_MASS_POINT = 1, | MOD_REMESH_MASS_POINT = 1, | ||||
| /* keeps sharp edges */ | /* keeps sharp edges */ | ||||
| MOD_REMESH_SHARP_FEATURES = 2, | MOD_REMESH_SHARP_FEATURES = 2, | ||||
| /* Voxel remesh */ | /* Voxel remesh */ | ||||
| MOD_REMESH_VOXEL = 3, | MOD_REMESH_VOXEL = 3, | ||||
| } eRemeshModifierMode; | } eRemeshModifierMode; | ||||
| typedef struct RemeshModifierData { | typedef struct RemeshModifierData { | ||||
| ModifierData modifier; | ModifierData modifier; | ||||
| /* floodfill option, controls how small components can be before they are removed */ | /* floodfill option, controls how small components can be before they are removed */ | ||||
| float threshold; | float threshold; | ||||
| /* ratio between size of model and grid */ | /* ratio between size of model and grid */ | ||||
| float scale; | float scale; | ||||
| float hermite_num; | float hermite_num; | ||||
| /* octree depth */ | /* octree depth */ | ||||
| char depth; | char depth; | ||||
| char flag; | char flag; | ||||
| char mode; | char mode; | ||||
| char _pad; | char _pad; | ||||
| /* OpenVDB Voxel remesh properties. */ | /* OpenVDB Voxel remesh properties. */ | ||||
| float voxel_size; | float voxel_size; | ||||
| float adaptivity; | float adaptivity; | ||||
| } RemeshModifierData; | } RemeshModifierData; | ||||
| /* Voxel Mesher modifier */ | |||||
| typedef enum eVoxelMesherModifierMode { | |||||
| /* OpenVDB voxel remesh */ | |||||
campbellbarton: Use `e` prefix for enums. | |||||
| MOD_VOXELMESHER_VOXEL = 0, | |||||
| /* metaball remesh, turns vertices or particles into metaballs */ | |||||
| MOD_VOXELMESHER_METABALL = 1, | |||||
| } eVoxelMesherModifierMode; | |||||
| typedef enum eVoxelMesherModifierFlags { | |||||
| MOD_VOXELMESHER_SMOOTH_SHADING = (1 << 1), | |||||
| MOD_VOXELMESHER_SMOOTH_NORMALS = (1 << 2), | |||||
| MOD_VOXELMESHER_RELAX_TRIANGLES = (1 << 3), | |||||
| MOD_VOXELMESHER_REPROJECT_DATA = (1 << 4), | |||||
| MOD_VOXELMESHER_LIVE_REMESH = (1 << 5), | |||||
| MOD_VOXELMESHER_ACCUMULATE = (1 << 6), | |||||
| MOD_VOXELMESHER_SHARPEN_FEATURES = (1 << 7), | |||||
| MOD_VOXELMESHER_FIX_POLES = (1 << 8), | |||||
| } VoxelMesherModifierFlags; | |||||
| typedef enum MetaballVoxelMesherFlags { | |||||
| MOD_VOXELMESHER_VERTICES = (1 << 0), | |||||
| MOD_VOXELMESHER_PARTICLES = (1 << 1), | |||||
| } MetaballVoxelMesherFlags; | |||||
Not Done Inline ActionsThis is getting a bit un-managable, would prefer if each of these had their own sub-struct, for RNA as well. campbellbarton: This is getting a bit un-managable, would prefer if each of these had their own sub-struct, for… | |||||
| typedef enum { | |||||
| eVoxelMesherFlag_Alive = (1 << 0), | |||||
| eVoxelMesherFlag_Dead = (1 << 1), | |||||
| eVoxelMesherFlag_Unborn = (1 << 2), | |||||
| eVoxelMesherFlag_Size = (1 << 3), | |||||
| eVoxelMesherFlag_Verts = (1 << 4), | |||||
| } MetaballVoxelMesherPsysFlag; | |||||
| typedef enum { | |||||
Not Done Inline ActionsAvoid using back-pointers as they become invalid, just pass this as an argument. campbellbarton: Avoid using back-pointers as they become invalid, just pass this as an argument. | |||||
| eVoxelMesherModifierOp_Union = 0, | |||||
| eVoxelMesherModifierOp_Difference = 1, | |||||
| eVoxelMesherModifierOp_Intersect = 2, | |||||
| } VoxelMesherModifierOp; | |||||
| typedef enum { | |||||
| eVoxelMesherModifierSampler_None = 0, | |||||
| eVoxelMesherModifierSampler_Point = 1, | |||||
| eVoxelMesherModifierSampler_Box = 2, | |||||
| eVoxelMesherModifierSampler_Quadratic = 3, | |||||
| } VoxelMesherModifierSampler; | |||||
| typedef enum eVoxelFilterType { | |||||
| VOXEL_FILTER_NONE = 0, | |||||
| VOXEL_FILTER_GAUSSIAN = 1, | |||||
| VOXEL_FILTER_MEAN = 2, | |||||
| VOXEL_FILTER_MEDIAN = 3, | |||||
| VOXEL_FILTER_MEAN_CURVATURE = 4, | |||||
| VOXEL_FILTER_LAPLACIAN = 5, | |||||
| VOXEL_FILTER_DILATE = 6, | |||||
| VOXEL_FILTER_ERODE = 7, | |||||
| } eVoxelFilterType; | |||||
| /*filter bias, aligned to openvdb */ | |||||
| typedef enum eVoxelFilterBias { | |||||
| VOXEL_BIAS_FIRST = 0, | |||||
| VOXEL_BIAS_SECOND, | |||||
| VOXEL_BIAS_THIRD, | |||||
| VOXEL_BIAS_WENO5, | |||||
| VOXEL_BIAS_HJWENO5, | |||||
| } eVoxelFilterBias; | |||||
| typedef enum eCSGVolumeOperandFlags { | |||||
| MOD_VOXELMESHER_CSG_OBJECT_ENABLED = (1 << 0), | |||||
| MOD_VOXELMESHER_CSG_SYNC_VOXEL_SIZE = (1 << 1), | |||||
| MOD_VOXELMESHER_CSG_VOXEL_PERCENTAGE = (1 << 2), | |||||
| } eCSGVolumeOperandFlags; | |||||
| typedef struct CSGVolume_Object { | |||||
Not Done Inline ActionsRename to VoxelMesherObject. Don't use the words CSG and Operand in DNA, RNA or UI. It's more consistent in Blender to use "Boolean" and "Object". brecht: Rename to `VoxelMesherObject`.
Don't use the words CSG and Operand in DNA, RNA or UI. It's… | |||||
| struct CSGVolume_Object *next, *prev; | |||||
| struct Object *object; | |||||
| float voxel_size; | |||||
| float voxel_percentage; | |||||
| char operation; | |||||
| char flag; | |||||
| char sampler; | |||||
| char input; | |||||
| char pflag; | |||||
| char _pad[1]; | |||||
| short psys; | |||||
| float part_trail_size; | |||||
| float part_min_radius; | |||||
| float part_scale_factor; | |||||
| float part_vel_factor; | |||||
| int part_trail; | |||||
| int _pad2; | |||||
| } CSGVolume_Object; | |||||
| typedef struct VoxelMesherModifierData { | |||||
| ModifierData modifier; | |||||
| /* for voxel mode */ | |||||
| float voxel_size; | |||||
| float isovalue; | |||||
| float adaptivity; | |||||
| float edge_tolerance; | |||||
| float filter_distance; | |||||
| float filter_sigma; | |||||
| int filter_type; | |||||
| int filter_bias; | |||||
| int filter_width; | |||||
| int filter_iterations; | |||||
| int active_index; | |||||
| float _pad1; | |||||
| /* volume csg */ | |||||
| struct ListBase csg_operands; | |||||
Not Done Inline ActionsRename to objects. brecht: Rename to `objects`. | |||||
| struct Mesh *mesh_cached; | |||||
| struct OpenVDBLevelSet *levelset_cached; | |||||
| /*for metaball mode*/ | |||||
| float rendersize; | |||||
| float wiresize; | |||||
| float thresh; | |||||
| float basesize[3]; | |||||
| int input; | |||||
| int pflag; | |||||
| int psys; | |||||
| char size_defgrp_name[64]; /* MAX_VGROUP_NAME */ | |||||
| short flag; | |||||
| short mode; | |||||
| } VoxelMesherModifierData; | |||||
| /* Skin modifier */ | /* Skin modifier */ | ||||
| typedef struct SkinModifierData { | typedef struct SkinModifierData { | ||||
| ModifierData modifier; | ModifierData modifier; | ||||
| float branch_smoothing; | float branch_smoothing; | ||||
| char flag; | char flag; | ||||
| ▲ Show 20 Lines • Show All 495 Lines • Show Last 20 Lines | |||||
Use e prefix for enums.