Move Point Cloud object back to Experimental Features
The geometry-nodes features no longer depend on the point cloud object. Therefore the point cloud object, although important in the future, can be postponed until we have render and edit mode fully working. This reverts commits: *ea74ed5a7a
. *dc614c68ef
.
This commit is contained in:
parent
0d58eabee6
commit
82645ff739
Notes:
blender-bot
2023-02-14 08:07:50 +01:00
Referenced by issue #84704, "POINT CLOUD OBJECT" AND "ADD OBJECT TOOL" DISAPPEARED Referenced by issue #84397, Creating and removing many objects very quickly causes a crash
|
@ -2202,6 +2202,7 @@ class USERPREF_PT_experimental_prototypes(ExperimentalPanel, Panel):
|
|||
self._draw_items(
|
||||
context, (
|
||||
({"property": "use_new_hair_type"}, "T68981"),
|
||||
({"property": "use_new_point_cloud_type"}, "T75717"),
|
||||
),
|
||||
)
|
||||
|
||||
|
|
|
@ -2147,7 +2147,8 @@ class VIEW3D_MT_add(Menu):
|
|||
layout.operator("object.text_add", text="Text", icon='OUTLINER_OB_FONT')
|
||||
if context.preferences.experimental.use_new_hair_type:
|
||||
layout.operator("object.hair_add", text="Hair", icon='OUTLINER_OB_HAIR')
|
||||
layout.operator("object.pointcloud_add", text="Point Cloud", icon='OUTLINER_OB_POINTCLOUD')
|
||||
if context.preferences.experimental.use_new_point_cloud_type:
|
||||
layout.operator("object.pointcloud_add", text="Point Cloud", icon='OUTLINER_OB_POINTCLOUD')
|
||||
layout.menu("VIEW3D_MT_volume_add", text="Volume", icon='OUTLINER_OB_VOLUME')
|
||||
layout.operator_menu_enum("object.gpencil_add", "type", text="Grease Pencil", icon='OUTLINER_OB_GREASEPENCIL')
|
||||
|
||||
|
|
|
@ -88,6 +88,7 @@ endif()
|
|||
|
||||
if(WITH_EXPERIMENTAL_FEATURES)
|
||||
add_definitions(-DWITH_GEOMETRY_NODES)
|
||||
add_definitions(-DWITH_POINT_CLOUD)
|
||||
add_definitions(-DWITH_HAIR_NODES)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -1714,6 +1714,9 @@ void OBJECT_OT_hair_add(wmOperatorType *ot)
|
|||
|
||||
static bool object_pointcloud_add_poll(bContext *C)
|
||||
{
|
||||
if (!U.experimental.use_new_point_cloud_type) {
|
||||
return false;
|
||||
}
|
||||
return ED_operator_objectmode(C);
|
||||
}
|
||||
|
||||
|
@ -2316,17 +2319,23 @@ static const EnumPropertyItem convert_target_items[] = {
|
|||
"MESH",
|
||||
ICON_OUTLINER_OB_MESH,
|
||||
"Mesh",
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
"Mesh from Curve, Surface, Metaball, Text, or Pointcloud objects"},
|
||||
#else
|
||||
"Mesh from Curve, Surface, Metaball, or Text objects"},
|
||||
#endif
|
||||
{OB_GPENCIL,
|
||||
"GPENCIL",
|
||||
ICON_OUTLINER_OB_GREASEPENCIL,
|
||||
"Grease Pencil",
|
||||
"Grease Pencil from Curve or Mesh objects"},
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
{OB_POINTCLOUD,
|
||||
"POINTCLOUD",
|
||||
ICON_OUTLINER_OB_POINTCLOUD,
|
||||
"Pointcloud",
|
||||
"Pointcloud from Mesh objects"},
|
||||
#endif
|
||||
{0, NULL, 0, NULL, NULL},
|
||||
};
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ endif()
|
|||
|
||||
if(WITH_EXPERIMENTAL_FEATURES)
|
||||
add_definitions(-DWITH_GEOMETRY_NODES)
|
||||
add_definitions(-DWITH_POINT_CLOUD)
|
||||
add_definitions(-DWITH_HAIR_NODES)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -246,9 +246,11 @@ static bool buttons_context_path_data(ButsContextPath *path, int type)
|
|||
return true;
|
||||
}
|
||||
#endif
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
if (RNA_struct_is_a(ptr->type, &RNA_PointCloud) && (type == -1 || type == OB_POINTCLOUD)) {
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
if (RNA_struct_is_a(ptr->type, &RNA_Volume) && (type == -1 || type == OB_VOLUME)) {
|
||||
return true;
|
||||
}
|
||||
|
@ -812,7 +814,9 @@ const char *buttons_context_dir[] = {
|
|||
#ifdef WITH_HAIR_NODES
|
||||
"hair",
|
||||
#endif
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
"pointcloud",
|
||||
#endif
|
||||
"volume",
|
||||
NULL,
|
||||
};
|
||||
|
@ -899,10 +903,12 @@ int /*eContextResult*/ buttons_context(const bContext *C,
|
|||
return CTX_RESULT_OK;
|
||||
}
|
||||
#endif
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
if (CTX_data_equals(member, "pointcloud")) {
|
||||
set_pointer_type(path, result, &RNA_PointCloud);
|
||||
return CTX_RESULT_OK;
|
||||
}
|
||||
#endif
|
||||
if (CTX_data_equals(member, "volume")) {
|
||||
set_pointer_type(path, result, &RNA_Volume);
|
||||
return CTX_RESULT_OK;
|
||||
|
|
|
@ -632,10 +632,12 @@ typedef struct UserDef_Experimental {
|
|||
/* The following options are automatically sanitized (set to 0)
|
||||
* when the release cycle is not alpha. */
|
||||
char use_new_hair_type;
|
||||
char use_new_point_cloud_type;
|
||||
char use_sculpt_vertex_colors;
|
||||
char use_switch_object_operator;
|
||||
char use_sculpt_tools_tilt;
|
||||
char use_object_add_tool;
|
||||
char _pad[7];
|
||||
/** `makesdna` does not allow empty structs. */
|
||||
} UserDef_Experimental;
|
||||
|
||||
|
|
|
@ -99,6 +99,7 @@ set(DEFSRC
|
|||
|
||||
if(WITH_EXPERIMENTAL_FEATURES)
|
||||
add_definitions(-DWITH_GEOMETRY_NODES)
|
||||
add_definitions(-DWITH_POINT_CLOUD)
|
||||
add_definitions(-DWITH_HAIR_NODES)
|
||||
list(APPEND DEFSRC
|
||||
rna_hair.c
|
||||
|
|
|
@ -4308,7 +4308,9 @@ static RNAProcessItem PROCESS_ITEMS[] = {
|
|||
{"rna_packedfile.c", NULL, RNA_def_packedfile},
|
||||
{"rna_palette.c", NULL, RNA_def_palette},
|
||||
{"rna_particle.c", NULL, RNA_def_particle},
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
{"rna_pointcloud.c", NULL, RNA_def_pointcloud},
|
||||
#endif
|
||||
{"rna_pose.c", "rna_pose_api.c", RNA_def_pose},
|
||||
{"rna_curveprofile.c", NULL, RNA_def_profile},
|
||||
{"rna_lightprobe.c", NULL, RNA_def_lightprobe},
|
||||
|
|
|
@ -289,9 +289,11 @@ short RNA_type_to_ID_code(const StructRNA *type)
|
|||
if (base_type == &RNA_PaintCurve) {
|
||||
return ID_PC;
|
||||
}
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
if (base_type == &RNA_PointCloud) {
|
||||
return ID_PT;
|
||||
}
|
||||
# endif
|
||||
if (base_type == &RNA_LightProbe) {
|
||||
return ID_LP;
|
||||
}
|
||||
|
@ -397,7 +399,11 @@ StructRNA *ID_code_to_RNA_type(short idcode)
|
|||
case ID_PC:
|
||||
return &RNA_PaintCurve;
|
||||
case ID_PT:
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
return &RNA_PointCloud;
|
||||
# else
|
||||
return &RNA_ID;
|
||||
# endif
|
||||
case ID_LP:
|
||||
return &RNA_LightProbe;
|
||||
case ID_SCE:
|
||||
|
|
|
@ -470,7 +470,9 @@ void RNA_def_main_lightprobes(BlenderRNA *brna, PropertyRNA *cprop);
|
|||
#ifdef WITH_HAIR_NODES
|
||||
void RNA_def_main_hairs(BlenderRNA *brna, PropertyRNA *cprop);
|
||||
#endif
|
||||
#ifdef WITH_POINT_CLOUD
|
||||
void RNA_def_main_pointclouds(BlenderRNA *brna, PropertyRNA *cprop);
|
||||
#endif
|
||||
void RNA_def_main_volumes(BlenderRNA *brna, PropertyRNA *cprop);
|
||||
#ifdef WITH_GEOMETRY_NODES
|
||||
void RNA_def_main_simulations(BlenderRNA *brna, PropertyRNA *cprop);
|
||||
|
|
|
@ -128,7 +128,9 @@ RNA_MAIN_LISTBASE_FUNCS_DEF(objects)
|
|||
RNA_MAIN_LISTBASE_FUNCS_DEF(paintcurves)
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(palettes)
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(particles)
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(pointclouds)
|
||||
# endif
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(scenes)
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(screens)
|
||||
RNA_MAIN_LISTBASE_FUNCS_DEF(shapekeys)
|
||||
|
@ -391,12 +393,14 @@ void RNA_def_main(BlenderRNA *brna)
|
|||
# ifdef WITH_HAIR_NODES
|
||||
{"hairs", "Hair", "rna_Main_hairs_begin", "Hairs", "Hair data-blocks", RNA_def_main_hairs},
|
||||
# endif
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
{"pointclouds",
|
||||
"PointCloud",
|
||||
"rna_Main_pointclouds_begin",
|
||||
"Point Clouds",
|
||||
"Point cloud data-blocks",
|
||||
RNA_def_main_pointclouds},
|
||||
# endif
|
||||
{"volumes",
|
||||
"Volume",
|
||||
"rna_Main_volumes_begin",
|
||||
|
|
|
@ -678,6 +678,7 @@ static Hair *rna_Main_hairs_new(Main *bmain, const char *name)
|
|||
}
|
||||
# endif
|
||||
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
static PointCloud *rna_Main_pointclouds_new(Main *bmain, const char *name)
|
||||
{
|
||||
char safe_name[MAX_ID_NAME - 2];
|
||||
|
@ -687,6 +688,7 @@ static PointCloud *rna_Main_pointclouds_new(Main *bmain, const char *name)
|
|||
id_us_min(&pointcloud->id);
|
||||
return pointcloud;
|
||||
}
|
||||
# endif
|
||||
|
||||
static Volume *rna_Main_volumes_new(Main *bmain, const char *name)
|
||||
{
|
||||
|
@ -755,7 +757,9 @@ RNA_MAIN_ID_TAG_FUNCS_DEF(lightprobes, lightprobes, ID_LP)
|
|||
# ifdef WITH_HAIR_NODES
|
||||
RNA_MAIN_ID_TAG_FUNCS_DEF(hairs, hairs, ID_HA)
|
||||
# endif
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
RNA_MAIN_ID_TAG_FUNCS_DEF(pointclouds, pointclouds, ID_PT)
|
||||
# endif
|
||||
RNA_MAIN_ID_TAG_FUNCS_DEF(volumes, volumes, ID_VO)
|
||||
# ifdef WITH_GEOMETRY_NODES
|
||||
RNA_MAIN_ID_TAG_FUNCS_DEF(simulations, simulations, ID_SIM)
|
||||
|
@ -2206,6 +2210,7 @@ void RNA_def_main_hairs(BlenderRNA *brna, PropertyRNA *cprop)
|
|||
}
|
||||
# endif
|
||||
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
void RNA_def_main_pointclouds(BlenderRNA *brna, PropertyRNA *cprop)
|
||||
{
|
||||
StructRNA *srna;
|
||||
|
@ -2252,6 +2257,7 @@ void RNA_def_main_pointclouds(BlenderRNA *brna, PropertyRNA *cprop)
|
|||
parm = RNA_def_boolean(func, "value", 0, "Value", "");
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
}
|
||||
# endif
|
||||
|
||||
void RNA_def_main_volumes(BlenderRNA *brna, PropertyRNA *cprop)
|
||||
{
|
||||
|
|
|
@ -579,7 +579,11 @@ static StructRNA *rna_Object_data_typef(PointerRNA *ptr)
|
|||
return &RNA_ID;
|
||||
# endif
|
||||
case OB_POINTCLOUD:
|
||||
# ifdef WITH_POINT_CLOUD
|
||||
return &RNA_PointCloud;
|
||||
# else
|
||||
return &RNA_ID;
|
||||
# endif
|
||||
case OB_VOLUME:
|
||||
return &RNA_Volume;
|
||||
default:
|
||||
|
|
|
@ -6160,6 +6160,11 @@ static void rna_def_userdef_experimental(BlenderRNA *brna)
|
|||
"Undo Legacy",
|
||||
"Use legacy undo (slower than the new default one, but may be more stable in some cases)");
|
||||
|
||||
prop = RNA_def_property(srna, "use_new_point_cloud_type", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "use_new_point_cloud_type", 1);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "New Point Cloud Type", "Enable the new point cloud type in the ui");
|
||||
|
||||
prop = RNA_def_property(srna, "use_new_hair_type", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "use_new_hair_type", 1);
|
||||
RNA_def_property_ui_text(prop, "New Hair Type", "Enable the new hair type in the ui");
|
||||
|
|
|
@ -199,6 +199,7 @@ endif()
|
|||
|
||||
if(WITH_EXPERIMENTAL_FEATURES)
|
||||
add_definitions(-DWITH_GEOMETRY_NODES)
|
||||
add_definitions(-DWITH_POINT_CLOUD)
|
||||
add_definitions(-DWITH_HAIR_NODES)
|
||||
endif()
|
||||
|
||||
|
|
Loading…
Reference in New Issue