Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/object/object_add.c
| Show First 20 Lines • Show All 1,708 Lines • ▼ Show 20 Lines | |||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Add Point Cloud Operator | /** \name Add Point Cloud Operator | ||||
| * \{ */ | * \{ */ | ||||
| static bool object_pointcloud_add_poll(bContext *C) | static bool object_pointcloud_add_poll(bContext *C) | ||||
| { | { | ||||
| if (!U.experimental.use_new_point_cloud_type) { | |||||
| return false; | |||||
| } | |||||
| return ED_operator_objectmode(C); | return ED_operator_objectmode(C); | ||||
| } | } | ||||
| static int object_pointcloud_add_exec(bContext *C, wmOperator *op) | static int object_pointcloud_add_exec(bContext *C, wmOperator *op) | ||||
| { | { | ||||
| ushort local_view_bits; | ushort local_view_bits; | ||||
| float loc[3], rot[3]; | float loc[3], rot[3]; | ||||
| if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL, &local_view_bits, NULL)) { | if (!ED_object_add_generic_get_opts(C, op, 'Z', loc, rot, NULL, NULL, &local_view_bits, NULL)) { | ||||
| ▲ Show 20 Lines • Show All 586 Lines • ▼ Show 20 Lines | |||||
| * \{ */ | * \{ */ | ||||
| static const EnumPropertyItem convert_target_items[] = { | static const EnumPropertyItem convert_target_items[] = { | ||||
| {OB_CURVE, "CURVE", ICON_OUTLINER_OB_CURVE, "Curve", "Curve from Mesh or Text objects"}, | {OB_CURVE, "CURVE", ICON_OUTLINER_OB_CURVE, "Curve", "Curve from Mesh or Text objects"}, | ||||
| {OB_MESH, | {OB_MESH, | ||||
| "MESH", | "MESH", | ||||
| ICON_OUTLINER_OB_MESH, | ICON_OUTLINER_OB_MESH, | ||||
| "Mesh", | "Mesh", | ||||
| #ifdef WITH_POINT_CLOUD | |||||
| "Mesh from Curve, Surface, Metaball, Text, or Pointcloud objects"}, | "Mesh from Curve, Surface, Metaball, Text, or Pointcloud objects"}, | ||||
| #else | |||||
| "Mesh from Curve, Surface, Metaball, or Text objects"}, | |||||
| #endif | |||||
| {OB_GPENCIL, | {OB_GPENCIL, | ||||
| "GPENCIL", | "GPENCIL", | ||||
| ICON_OUTLINER_OB_GREASEPENCIL, | ICON_OUTLINER_OB_GREASEPENCIL, | ||||
| "Grease Pencil", | "Grease Pencil", | ||||
| "Grease Pencil from Curve or Mesh objects"}, | "Grease Pencil from Curve or Mesh objects"}, | ||||
| #ifdef WITH_POINT_CLOUD | |||||
| {OB_POINTCLOUD, | {OB_POINTCLOUD, | ||||
| "POINTCLOUD", | "POINTCLOUD", | ||||
| ICON_OUTLINER_OB_POINTCLOUD, | ICON_OUTLINER_OB_POINTCLOUD, | ||||
| "Pointcloud", | "Pointcloud", | ||||
| "Pointcloud from Mesh objects"}, | "Pointcloud from Mesh objects"}, | ||||
| #endif | |||||
| {0, NULL, 0, NULL, NULL}, | {0, NULL, 0, NULL, NULL}, | ||||
| }; | }; | ||||
| static void object_data_convert_ensure_curve_cache(Depsgraph *depsgraph, Scene *scene, Object *ob) | static void object_data_convert_ensure_curve_cache(Depsgraph *depsgraph, Scene *scene, Object *ob) | ||||
| { | { | ||||
| if (ob->runtime.curve_cache == NULL) { | if (ob->runtime.curve_cache == NULL) { | ||||
| /* Force creation. This is normally not needed but on operator | /* Force creation. This is normally not needed but on operator | ||||
| * redo we might end up with an object which isn't evaluated yet. | * redo we might end up with an object which isn't evaluated yet. | ||||
| ▲ Show 20 Lines • Show All 1,113 Lines • Show Last 20 Lines | |||||