Cleanup: Move remaining modifier files to C++

See #103343

Pull Request: https://projects.blender.org/blender/blender/pulls/107626
This commit is contained in:
Hans Goudey
2023-05-04 18:35:37 +02:00
committed by Hans Goudey
parent eca8e6bf5e
commit 730b11034f
79 changed files with 1216 additions and 1255 deletions

View File

@@ -24,7 +24,7 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
Mesh *BKE_mesh_mirror_bisect_on_mirror_plane_for_modifier(MirrorModifierData *mmd,
const Mesh *mesh,

View File

@@ -68,7 +68,7 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
#include "BLO_read_write.h"

View File

@@ -8,6 +8,10 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/**
* \param defgrp_index: Vertex group index, -1 for no vertex groups.
*
@@ -29,3 +33,7 @@ void BM_mesh_wireframe(BMesh *bm,
short mat_offset,
short mat_max,
bool use_tag);
#ifdef __cplusplus
}
#endif

View File

@@ -33,81 +33,81 @@ set(INC_SYS
)
set(SRC
intern/MOD_armature.c
intern/MOD_armature.cc
intern/MOD_array.cc
intern/MOD_bevel.c
intern/MOD_bevel.cc
intern/MOD_boolean.cc
intern/MOD_build.cc
intern/MOD_cast.c
intern/MOD_cloth.c
intern/MOD_collision.c
intern/MOD_cast.cc
intern/MOD_cloth.cc
intern/MOD_collision.cc
intern/MOD_correctivesmooth.cc
intern/MOD_curve.c
intern/MOD_curve.cc
intern/MOD_datatransfer.cc
intern/MOD_decimate.c
intern/MOD_decimate.cc
intern/MOD_displace.cc
intern/MOD_dynamicpaint.c
intern/MOD_edgesplit.c
intern/MOD_dynamicpaint.cc
intern/MOD_edgesplit.cc
intern/MOD_explode.cc
intern/MOD_fluid.c
intern/MOD_hook.c
intern/MOD_fluid.cc
intern/MOD_hook.cc
intern/MOD_laplaciandeform.cc
intern/MOD_laplaciansmooth.cc
intern/MOD_lattice.c
intern/MOD_lattice.cc
intern/MOD_mask.cc
intern/MOD_mesh_to_volume.cc
intern/MOD_meshcache.c
intern/MOD_meshcache_mdd.c
intern/MOD_meshcache_pc2.c
intern/MOD_meshcache_util.c
intern/MOD_meshdeform.c
intern/MOD_meshcache.cc
intern/MOD_meshcache_mdd.cc
intern/MOD_meshcache_pc2.cc
intern/MOD_meshcache_util.cc
intern/MOD_meshdeform.cc
intern/MOD_meshsequencecache.cc
intern/MOD_mirror.cc
intern/MOD_multires.cc
intern/MOD_nodes.cc
intern/MOD_none.c
intern/MOD_none.cc
intern/MOD_normal_edit.cc
intern/MOD_ocean.cc
intern/MOD_particleinstance.cc
intern/MOD_particlesystem.cc
intern/MOD_remesh.cc
intern/MOD_screw.cc
intern/MOD_shapekey.c
intern/MOD_shrinkwrap.c
intern/MOD_simpledeform.c
intern/MOD_shapekey.cc
intern/MOD_shrinkwrap.cc
intern/MOD_simpledeform.cc
intern/MOD_skin.cc
intern/MOD_smooth.cc
intern/MOD_softbody.c
intern/MOD_softbody.cc
intern/MOD_solidify.cc
intern/MOD_solidify_extrude.cc
intern/MOD_solidify_nonmanifold.cc
intern/MOD_subsurf.cc
intern/MOD_surface.c
intern/MOD_surface.cc
intern/MOD_surfacedeform.cc
intern/MOD_triangulate.cc
intern/MOD_ui_common.c
intern/MOD_ui_common.cc
intern/MOD_util.cc
intern/MOD_uvproject.cc
intern/MOD_uvwarp.cc
intern/MOD_volume_displace.cc
intern/MOD_volume_to_mesh.cc
intern/MOD_warp.c
intern/MOD_warp.cc
intern/MOD_wave.cc
intern/MOD_weighted_normal.cc
intern/MOD_weightvg_util.c
intern/MOD_weightvg_util.cc
intern/MOD_weightvgedit.cc
intern/MOD_weightvgmix.cc
intern/MOD_weightvgproximity.cc
intern/MOD_weld.cc
intern/MOD_wireframe.c
intern/MOD_wireframe.cc
MOD_modifiertypes.h
MOD_modifiertypes.hh
MOD_nodes.h
intern/MOD_meshcache_util.h
intern/MOD_meshcache_util.hh
intern/MOD_solidify_util.hh
intern/MOD_ui_common.h
intern/MOD_util.h
intern/MOD_weightvg_util.h
intern/MOD_ui_common.hh
intern/MOD_util.hh
intern/MOD_weightvg_util.hh
)
set(LIB

View File

@@ -8,10 +8,6 @@
#include "BKE_modifier.h"
#ifdef __cplusplus
extern "C" {
#endif
/* ****************** Type structures for all modifiers ****************** */
extern ModifierTypeInfo modifierType_None;
@@ -82,7 +78,3 @@ extern ModifierTypeInfo modifierType_VolumeToMesh;
* Only called by `BKE_modifier.h/modifier.cc`
*/
void modifier_type_init(ModifierTypeInfo *types[]);
#ifdef __cplusplus
}
#endif

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
@@ -42,8 +42,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -62,18 +62,16 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
ArmatureModifierData *tamd = (ArmatureModifierData *)target;
BKE_modifier_copydata_generic(md, target, flag);
tamd->vert_coords_prev = NULL;
tamd->vert_coords_prev = nullptr;
}
static void requiredDataMask(ModifierData *UNUSED(md), CustomData_MeshMasks *r_cddata_masks)
static void requiredDataMask(ModifierData * /*md*/, CustomData_MeshMasks *r_cddata_masks)
{
/* ask for vertexgroups */
r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT;
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
ArmatureModifierData *amd = (ArmatureModifierData *)md;
@@ -95,10 +93,10 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
ArmatureModifierData *amd = (ArmatureModifierData *)md;
if (amd->object != NULL) {
if (amd->object != nullptr) {
/* If not using envelopes,
* create relations to individual bones for more rigging flexibility. */
if ((amd->deformflag & ARM_DEF_ENVELOPE) == 0 && (amd->object->pose != NULL) &&
if ((amd->deformflag & ARM_DEF_ENVELOPE) == 0 && (amd->object->pose != nullptr) &&
ELEM(ctx->object->type, OB_MESH, OB_LATTICE, OB_GPENCIL_LEGACY))
{
/* If neither vertex groups nor envelopes are used, the modifier has no bone dependencies. */
@@ -106,7 +104,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
/* Enumerate groups that match existing bones. */
const ListBase *defbase = BKE_object_defgroup_list(ctx->object);
LISTBASE_FOREACH (bDeformGroup *, dg, defbase) {
if (BKE_pose_channel_find_name(amd->object->pose, dg->name) != NULL) {
if (BKE_pose_channel_find_name(amd->object->pose, dg->name) != nullptr) {
/* Can't check BONE_NO_DEFORM because it can be animated. */
DEG_add_bone_relation(
ctx->node, amd->object, dg->name, DEG_OB_COMP_BONE, "Armature Modifier");
@@ -137,7 +135,7 @@ static void deformVerts(ModifierData *md,
BKE_armature_deform_coords_with_mesh(amd->object,
ctx->object,
vertexCos,
NULL,
nullptr,
verts_num,
amd->deformflag,
amd->vert_coords_prev,
@@ -150,12 +148,12 @@ static void deformVerts(ModifierData *md,
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *em,
BMEditMesh *em,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
if (mesh != NULL) {
if (mesh != nullptr) {
deformVerts(md, ctx, mesh, vertexCos, verts_num);
return;
}
@@ -167,7 +165,7 @@ static void deformVertsEM(ModifierData *md,
BKE_armature_deform_coords_with_editmesh(amd->object,
ctx->object,
vertexCos,
NULL,
nullptr,
verts_num,
amd->deformflag,
amd->vert_coords_prev,
@@ -180,8 +178,8 @@ static void deformVertsEM(ModifierData *md,
static void deformMatricesEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *em,
Mesh *UNUSED(mesh),
BMEditMesh *em,
Mesh * /*mesh*/,
float (*vertexCos)[3],
float (*defMats)[3][3],
int verts_num)
@@ -194,7 +192,7 @@ static void deformMatricesEM(ModifierData *md,
defMats,
verts_num,
amd->deformflag,
NULL,
nullptr,
amd->defgrp_name,
em);
}
@@ -207,7 +205,7 @@ static void deformMatrices(ModifierData *md,
int verts_num)
{
ArmatureModifierData *amd = (ArmatureModifierData *)md;
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
BKE_armature_deform_coords_with_mesh(amd->object,
ctx->object,
@@ -215,16 +213,16 @@ static void deformMatrices(ModifierData *md,
defMats,
verts_num,
amd->deformflag,
NULL,
nullptr,
amd->defgrp_name,
mesh_src);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
@@ -234,12 +232,12 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, ptr, "object", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
col = uiLayoutColumn(layout, true);
uiItemR(col, ptr, "use_deform_preserve_volume", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_multi_modifier", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_deform_preserve_volume", 0, nullptr, ICON_NONE);
uiItemR(col, ptr, "use_multi_modifier", 0, nullptr, ICON_NONE);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Bind To"));
uiItemR(col, ptr, "use_vertex_groups", 0, IFACE_("Vertex Groups"), ICON_NONE);
@@ -253,11 +251,11 @@ static void panelRegister(ARegionType *region_type)
modifier_panel_register(region_type, eModifierType_Armature, panel_draw);
}
static void blendRead(BlendDataReader *UNUSED(reader), ModifierData *md)
static void blendRead(BlendDataReader * /*reader*/, ModifierData *md)
{
ArmatureModifierData *amd = (ArmatureModifierData *)md;
amd->vert_coords_prev = NULL;
amd->vert_coords_prev = nullptr;
}
ModifierTypeInfo modifierType_Armature = {
@@ -276,20 +274,20 @@ ModifierTypeInfo modifierType_Armature = {
/*deformMatrices*/ deformMatrices,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ deformMatricesEM,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ blendRead,
};

View File

@@ -42,8 +42,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"

View File

@@ -34,8 +34,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "BLO_read_write.h"
@@ -90,7 +90,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
BMVert *v;
float weight, weight2;
int vgroup = -1;
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
BevelModifierData *bmd = (BevelModifierData *)md;
const float threshold = cosf(bmd->bevel_angle + 0.000000175f);
const bool do_clamp = !(bmd->flags & MOD_BEVEL_OVERLAP_OK);
@@ -108,20 +108,18 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
const float spread = bmd->spread;
const bool invert_vgroup = (bmd->flags & MOD_BEVEL_INVERT_VGROUP) != 0;
bm = BKE_mesh_to_bmesh_ex(mesh,
&(struct BMeshCreateParams){0},
&(struct BMeshFromMeshParams){
.calc_face_normal = true,
.calc_vert_normal = true,
.add_key_index = false,
.use_shapekey = false,
.active_shapekey = 0,
/* XXX We probably can use CD_MASK_BAREMESH_ORIGDINDEX here instead
* (also for other modifiers cases)? */
.cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
.emask = CD_MASK_ORIGINDEX,
.pmask = CD_MASK_ORIGINDEX},
});
BMeshCreateParams create_params{};
BMeshFromMeshParams convert_params{};
convert_params.calc_face_normal = true;
convert_params.calc_vert_normal = true;
convert_params.add_key_index = false;
convert_params.use_shapekey = false;
convert_params.active_shapekey = 0;
convert_params.cd_mask_extra.vmask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.emask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.pmask = CD_MASK_ORIGINDEX;
bm = BKE_mesh_to_bmesh_ex(mesh, &create_params, &convert_params);
if ((bmd->lim_flags & MOD_BEVEL_VGROUP) && bmd->defgrp_name[0]) {
MOD_get_vgroup(ctx->object, mesh, bmd->defgrp_name, &dvert, &vgroup);
@@ -223,17 +221,18 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
bmd->custom_profile,
bmd->vmesh_method);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, nullptr, mesh);
/* Make sure we never alloc'd these. */
BLI_assert(bm->vtoolflagpool == NULL && bm->etoolflagpool == NULL && bm->ftoolflagpool == NULL);
BLI_assert(bm->vtoolflagpool == nullptr && bm->etoolflagpool == nullptr &&
bm->ftoolflagpool == nullptr);
BM_mesh_free(bm);
return result;
}
static bool dependsOnNormals(ModifierData *UNUSED(md))
static bool dependsOnNormals(ModifierData * /*md*/)
{
return true;
}
@@ -244,13 +243,13 @@ static void freeData(ModifierData *md)
BKE_curveprofile_free(bmd->custom_profile);
}
static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED(userRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
BevelModifierData *bmd = (BevelModifierData *)md;
return (bmd->value == 0.0f);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col, *sub;
uiLayout *layout = panel->layout;
@@ -260,51 +259,51 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiItemR(layout, ptr, "affect", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "affect", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, ptr, "offset_type", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "offset_type", 0, nullptr, ICON_NONE);
if (RNA_enum_get(ptr, "offset_type") == BEVEL_AMT_PERCENT) {
uiItemR(col, ptr, "width_pct", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "width_pct", 0, nullptr, ICON_NONE);
}
else {
uiItemR(col, ptr, "width", 0, IFACE_("Amount"), ICON_NONE);
}
uiItemR(layout, ptr, "segments", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "segments", 0, nullptr, ICON_NONE);
uiItemS(layout);
col = uiLayoutColumn(layout, false);
uiItemR(col, ptr, "limit_method", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "limit_method", 0, nullptr, ICON_NONE);
int limit_method = RNA_enum_get(ptr, "limit_method");
if (limit_method == MOD_BEVEL_ANGLE) {
sub = uiLayoutColumn(col, false);
uiLayoutSetActive(sub, edge_bevel);
uiItemR(col, ptr, "angle_limit", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "angle_limit", 0, nullptr, ICON_NONE);
}
else if (limit_method == MOD_BEVEL_VGROUP) {
modifier_vgroup_ui(col, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(col, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
}
modifier_panel_end(layout, ptr);
}
static void profile_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void profile_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
int profile_type = RNA_enum_get(ptr, "profile_type");
int miter_inner = RNA_enum_get(ptr, "miter_inner");
int miter_outer = RNA_enum_get(ptr, "miter_outer");
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiItemR(layout, ptr, "profile_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "profile_type", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiLayoutSetPropSep(layout, true);
@@ -331,12 +330,12 @@ static void profile_panel_draw(const bContext *UNUSED(C), Panel *panel)
}
}
static void geometry_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void geometry_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
@@ -351,53 +350,53 @@ static void geometry_panel_draw(const bContext *UNUSED(C), Panel *panel)
if (RNA_enum_get(ptr, "miter_inner") == BEVEL_MITER_ARC) {
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, ptr, "spread", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "spread", 0, nullptr, ICON_NONE);
}
uiItemS(layout);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, ptr, "vmesh_method", 0, IFACE_("Intersections"), ICON_NONE);
uiItemR(layout, ptr, "use_clamp_overlap", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_clamp_overlap", 0, nullptr, ICON_NONE);
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, edge_bevel);
uiItemR(row, ptr, "loop_slide", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "loop_slide", 0, nullptr, ICON_NONE);
}
static void shading_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void shading_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
bool edge_bevel = RNA_enum_get(ptr, "affect") != MOD_BEVEL_AFFECT_VERTICES;
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "harden_normals", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "harden_normals", 0, nullptr, ICON_NONE);
col = uiLayoutColumnWithHeading(layout, true, IFACE_("Mark"));
uiLayoutSetActive(col, edge_bevel);
uiItemR(col, ptr, "mark_seam", 0, IFACE_("Seam"), ICON_NONE);
uiItemR(col, ptr, "mark_sharp", 0, IFACE_("Sharp"), ICON_NONE);
uiItemR(layout, ptr, "material", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "face_strength_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "material", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "face_strength_mode", 0, nullptr, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Bevel, panel_draw);
modifier_subpanel_register(
region_type, "profile", "Profile", NULL, profile_panel_draw, panel_type);
region_type, "profile", "Profile", nullptr, profile_panel_draw, panel_type);
modifier_subpanel_register(
region_type, "geometry", "Geometry", NULL, geometry_panel_draw, panel_type);
region_type, "geometry", "Geometry", nullptr, geometry_panel_draw, panel_type);
modifier_subpanel_register(
region_type, "shading", "Shading", NULL, shading_panel_draw, panel_type);
region_type, "shading", "Shading", nullptr, shading_panel_draw, panel_type);
}
static void blendWrite(BlendWriter *writer, const ID *UNUSED(id_owner), const ModifierData *md)
static void blendWrite(BlendWriter *writer, const ID * /*id_owner*/, const ModifierData *md)
{
const BevelModifierData *bmd = (const BevelModifierData *)md;
@@ -428,22 +427,22 @@ ModifierTypeInfo modifierType_Bevel = {
eModifierTypeFlag_EnableInEditmode | eModifierTypeFlag_AcceptsCVs,
/*icon*/ ICON_MOD_BEVEL,
/*copyData*/ copyData,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ dependsOnNormals,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*uiPanel*/ panelRegister,
/*blendWrite*/ blendWrite,
/*blendRead*/ blendRead,

View File

@@ -43,8 +43,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "DEG_depsgraph_query.h"

View File

@@ -36,8 +36,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void initData(ModifierData *md)
{

View File

@@ -36,8 +36,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -48,9 +48,7 @@ static void initData(ModifierData *md)
MEMCPY_STRUCT_AFTER(cmd, DNA_struct_default_get(CastModifierData), modifier);
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
CastModifierData *cmd = (CastModifierData *)md;
short flag;
@@ -84,23 +82,23 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
CastModifierData *cmd = (CastModifierData *)md;
if (cmd->object != NULL) {
if (cmd->object != nullptr) {
DEG_add_object_relation(ctx->node, cmd->object, DEG_OB_COMP_TRANSFORM, "Cast Modifier");
DEG_add_depends_on_transform_relation(ctx->node, "Cast Modifier");
}
}
static void sphere_do(CastModifierData *cmd,
const ModifierEvalContext *UNUSED(ctx),
const ModifierEvalContext * /*ctx*/,
Object *ob,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
const bool invert_vgroup = (cmd->flag & MOD_CAST_INVERT_VGROUP) != 0;
Object *ctrl_ob = NULL;
Object *ctrl_ob = nullptr;
int i, defgrp_index;
bool has_radius = false;
@@ -232,17 +230,17 @@ static void sphere_do(CastModifierData *cmd,
}
static void cuboid_do(CastModifierData *cmd,
const ModifierEvalContext *UNUSED(ctx),
const ModifierEvalContext * /*ctx*/,
Object *ob,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
int defgrp_index;
const bool invert_vgroup = (cmd->flag & MOD_CAST_INVERT_VGROUP) != 0;
Object *ctrl_ob = NULL;
Object *ctrl_ob = nullptr;
int i;
bool has_radius = false;
@@ -463,11 +461,11 @@ static void deformVerts(ModifierData *md,
int verts_num)
{
CastModifierData *cmd = (CastModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && cmd->defgrp_name[0] != '\0') {
/* mesh_src is only needed for vgroups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
if (cmd->type == MOD_CAST_TYPE_CUBOID) {
@@ -477,23 +475,23 @@ static void deformVerts(ModifierData *md,
sphere_do(cmd, ctx, ctx->object, mesh_src, vertexCos, verts_num);
}
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *editData,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
CastModifierData *cmd = (CastModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (cmd->defgrp_name[0] != '\0') {
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, nullptr, verts_num, false);
}
if (mesh && BKE_mesh_wrapper_type(mesh) == ME_WRAPPER_TYPE_MDATA) {
@@ -501,7 +499,7 @@ static void deformVertsEM(ModifierData *md,
}
/* TODO(@ideasman42): use edit-mode data only (remove this line). */
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
@@ -512,12 +510,12 @@ static void deformVertsEM(ModifierData *md,
sphere_do(cmd, ctx, ctx->object, mesh_src, vertexCos, verts_num);
}
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
@@ -530,23 +528,23 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "cast_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "cast_type", 0, nullptr, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Axis"));
uiItemR(row, ptr, "use_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_x", toggles_flag, nullptr, ICON_NONE);
uiItemR(row, ptr, "use_y", toggles_flag, nullptr, ICON_NONE);
uiItemR(row, ptr, "use_z", toggles_flag, nullptr, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_radius_as_size", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "radius", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "size", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "use_radius_as_size", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, nullptr, ICON_NONE);
if (!RNA_pointer_is_null(&cast_object_ptr)) {
uiItemR(layout, ptr, "use_transform", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_transform", 0, nullptr, ICON_NONE);
}
modifier_panel_end(layout, ptr);
@@ -570,23 +568,23 @@ ModifierTypeInfo modifierType_Cast = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_utildefines.h"
@@ -45,8 +45,8 @@
#include "DEG_depsgraph_physics.h"
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -66,7 +66,7 @@ static void initData(ModifierData *md)
}
if (!clmd->sim_parms->effector_weights) {
clmd->sim_parms->effector_weights = BKE_effector_add_weights(NULL);
clmd->sim_parms->effector_weights = BKE_effector_add_weights(nullptr);
}
if (clmd->point_cache) {
@@ -93,13 +93,13 @@ static void deformVerts(ModifierData *md,
}
}
if (mesh == NULL) {
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, NULL, NULL, verts_num, false);
if (mesh == nullptr) {
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, nullptr, nullptr, verts_num, false);
}
else {
/* Not possible to use get_mesh() in this case as we'll modify its vertices
* and get_mesh() would return 'mesh' directly. */
mesh_src = (Mesh *)BKE_id_copy_ex(NULL, (ID *)mesh, NULL, LIB_ID_COPY_LOCALIZE);
mesh_src = (Mesh *)BKE_id_copy_ex(nullptr, (ID *)mesh, nullptr, LIB_ID_COPY_LOCALIZE);
}
/* TODO(sergey): For now it actually duplicates logic from DerivedMesh.cc
@@ -108,16 +108,16 @@ static void deformVerts(ModifierData *md,
*
* Also hopefully new cloth system will arrive soon..
*/
if (mesh == NULL && clmd->sim_parms->shapekey_rest) {
if (mesh == nullptr && clmd->sim_parms->shapekey_rest) {
KeyBlock *kb = BKE_keyblock_from_key(BKE_key_from_object(ctx->object),
clmd->sim_parms->shapekey_rest);
if (kb && kb->data != NULL) {
if (kb && kb->data != nullptr) {
float(*layerorco)[3];
if (!(layerorco = CustomData_get_layer_for_write(
&mesh_src->vdata, CD_CLOTH_ORCO, mesh_src->totvert)))
if (!(layerorco = static_cast<float(*)[3]>(CustomData_get_layer_for_write(
&mesh_src->vdata, CD_CLOTH_ORCO, mesh_src->totvert))))
{
layerorco = CustomData_add_layer(
&mesh_src->vdata, CD_CLOTH_ORCO, CD_SET_DEFAULT, mesh_src->totvert);
layerorco = static_cast<float(*)[3]>(CustomData_add_layer(
&mesh_src->vdata, CD_CLOTH_ORCO, CD_SET_DEFAULT, mesh_src->totvert));
}
memcpy(layerorco, kb->data, sizeof(float[3]) * verts_num);
@@ -128,19 +128,19 @@ static void deformVerts(ModifierData *md,
clothModifier_do(clmd, ctx->depsgraph, scene, ctx->object, mesh_src, vertexCos);
BKE_id_free(NULL, mesh_src);
BKE_id_free(nullptr, mesh_src);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
ClothModifierData *clmd = (ClothModifierData *)md;
if (clmd != NULL) {
if (clmd != nullptr) {
if (clmd->coll_parms->flags & CLOTH_COLLSETTINGS_FLAG_ENABLED) {
DEG_add_collision_relations(ctx->node,
ctx->object,
clmd->coll_parms->group,
eModifierType_Collision,
NULL,
nullptr,
"Cloth Collision");
}
DEG_add_forcefield_relations(
@@ -188,20 +188,22 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
else {
const int clmd_point_cache_index = BLI_findindex(&clmd->ptcaches, clmd->point_cache);
BKE_ptcache_copy_list(&tclmd->ptcaches, &clmd->ptcaches, flag);
tclmd->point_cache = BLI_findlink(&tclmd->ptcaches, clmd_point_cache_index);
tclmd->point_cache = static_cast<PointCache *>(
BLI_findlink(&tclmd->ptcaches, clmd_point_cache_index));
}
tclmd->sim_parms = MEM_dupallocN(clmd->sim_parms);
tclmd->sim_parms = static_cast<ClothSimSettings *>(MEM_dupallocN(clmd->sim_parms));
if (clmd->sim_parms->effector_weights) {
tclmd->sim_parms->effector_weights = MEM_dupallocN(clmd->sim_parms->effector_weights);
tclmd->sim_parms->effector_weights = static_cast<EffectorWeights *>(
MEM_dupallocN(clmd->sim_parms->effector_weights));
}
tclmd->coll_parms = MEM_dupallocN(clmd->coll_parms);
tclmd->clothObject = NULL;
tclmd->hairdata = NULL;
tclmd->solver_result = NULL;
tclmd->coll_parms = static_cast<ClothCollSettings *>(MEM_dupallocN(clmd->coll_parms));
tclmd->clothObject = nullptr;
tclmd->hairdata = nullptr;
tclmd->solver_result = nullptr;
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime( Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
@@ -233,7 +235,7 @@ static void freeData(ModifierData *md)
else {
BKE_ptcache_free_list(&clmd->ptcaches);
}
clmd->point_cache = NULL;
clmd->point_cache = nullptr;
if (clmd->hairdata) {
MEM_freeN(clmd->hairdata);
@@ -258,11 +260,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -287,23 +289,23 @@ ModifierTypeInfo modifierType_Cloth = {
/*copyData*/ copyData,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ NULL,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -38,9 +38,9 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "BLO_read_write.h"
@@ -62,7 +62,7 @@ static void freeData(ModifierData *md)
if (collmd) { /* Seriously? */
if (collmd->bvhtree) {
BLI_bvhtree_free(collmd->bvhtree);
collmd->bvhtree = NULL;
collmd->bvhtree = nullptr;
}
MEM_SAFE_FREE(collmd->x);
@@ -80,7 +80,7 @@ static void freeData(ModifierData *md)
}
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime( Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
@@ -105,13 +105,13 @@ static void deformVerts(ModifierData *md,
return;
}
if (mesh == NULL) {
mesh_src = MOD_deform_mesh_eval_get(ob, NULL, NULL, NULL, verts_num, false);
if (mesh == nullptr) {
mesh_src = MOD_deform_mesh_eval_get(ob, nullptr, nullptr, nullptr, verts_num, false);
}
else {
/* Not possible to use get_mesh() in this case as we'll modify its vertices
* and get_mesh() would return 'mesh' directly. */
mesh_src = (Mesh *)BKE_id_copy_ex(NULL, (ID *)mesh, NULL, LIB_ID_COPY_LOCALIZE);
mesh_src = (Mesh *)BKE_id_copy_ex(nullptr, (ID *)mesh, nullptr, LIB_ID_COPY_LOCALIZE);
}
if (mesh_src) {
@@ -144,24 +144,26 @@ static void deformVerts(ModifierData *md,
if (collmd->time_xnew == -1000) { /* first time */
collmd->x = MEM_dupallocN(BKE_mesh_vert_positions(mesh_src)); /* frame start position */
collmd->x = static_cast<float(*)[3]>(
MEM_dupallocN(BKE_mesh_vert_positions(mesh_src))); /* frame start position */
for (uint i = 0; i < mvert_num; i++) {
/* we save global positions */
mul_m4_v3(ob->object_to_world, collmd->x[i]);
}
collmd->xnew = MEM_dupallocN(collmd->x); /* Frame end position. */
collmd->current_x = MEM_dupallocN(collmd->x); /* Inter-frame. */
collmd->current_xnew = MEM_dupallocN(collmd->x); /* Inter-frame. */
collmd->current_v = MEM_dupallocN(collmd->x); /* Inter-frame. */
collmd->xnew = static_cast<float(*)[3]>(MEM_dupallocN(collmd->x)); /* Frame end position. */
collmd->current_x = static_cast<float(*)[3]>(MEM_dupallocN(collmd->x)); /* Inter-frame. */
collmd->current_xnew = static_cast<float(*)[3]>(MEM_dupallocN(collmd->x)); /* Inter-frame. */
collmd->current_v = static_cast<float(*)[3]>(MEM_dupallocN(collmd->x)); /* Inter-frame. */
collmd->mvert_num = mvert_num;
{
const MLoopTri *looptri = BKE_mesh_runtime_looptri_ensure(mesh_src);
collmd->tri_num = BKE_mesh_runtime_looptri_len(mesh_src);
MVertTri *tri = MEM_mallocN(sizeof(*tri) * collmd->tri_num, __func__);
MVertTri *tri = static_cast<MVertTri *>(
MEM_mallocN(sizeof(*tri) * collmd->tri_num, __func__));
BKE_mesh_runtime_verttri_from_looptri(
tri, BKE_mesh_corner_verts(mesh_src), looptri, collmd->tri_num);
collmd->tri = tri;
@@ -228,21 +230,21 @@ static void deformVerts(ModifierData *md,
}
}
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgraphContext *ctx)
static void updateDepsgraph(ModifierData * /*md*/, const ModifierUpdateDepsgraphContext *ctx)
{
DEG_add_depends_on_transform_relation(ctx->node, "Collision Modifier");
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -254,7 +256,7 @@ static void panelRegister(ARegionType *region_type)
modifier_panel_register(region_type, eModifierType_Collision, panel_draw);
}
static void blendRead(BlendDataReader *UNUSED(reader), ModifierData *md)
static void blendRead(BlendDataReader * /*reader*/, ModifierData *md)
{
CollisionModifierData *collmd = (CollisionModifierData *)md;
#if 0
@@ -269,17 +271,17 @@ static void blendRead(BlendDataReader *UNUSED(reader), ModifierData *md)
collmd->current_v = MEM_calloc_arrayN(collmd->mvert_num, sizeof(float[3]), "current_v");
#endif
collmd->x = NULL;
collmd->xnew = NULL;
collmd->current_x = NULL;
collmd->current_xnew = NULL;
collmd->current_v = NULL;
collmd->x = nullptr;
collmd->xnew = nullptr;
collmd->current_x = nullptr;
collmd->current_xnew = nullptr;
collmd->current_v = nullptr;
collmd->time_x = collmd->time_xnew = -1000;
collmd->mvert_num = 0;
collmd->tri_num = 0;
collmd->is_static = false;
collmd->bvhtree = NULL;
collmd->tri = NULL;
collmd->bvhtree = nullptr;
collmd->tri = nullptr;
}
ModifierTypeInfo modifierType_Collision = {
@@ -291,26 +293,26 @@ ModifierTypeInfo modifierType_Collision = {
/*flags*/ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_Single,
/*icon*/ ICON_MOD_PHYSICS,
/*copyData*/ NULL,
/*copyData*/ nullptr,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ NULL,
/*requiredDataMask*/ nullptr,
/*freeData*/ freeData,
/*isDisabled*/ NULL,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ blendRead,
};

View File

@@ -36,9 +36,9 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "BLO_read_write.h"

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_utildefines.h"
@@ -38,9 +38,9 @@
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -61,7 +61,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
}
}
static bool isDisabled(const Scene *UNUSED(scene), ModifierData *md, bool UNUSED(userRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
CurveModifierData *cmd = (CurveModifierData *)md;
@@ -83,7 +83,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
CurveModifierData *cmd = (CurveModifierData *)md;
if (cmd->object != NULL) {
if (cmd->object != nullptr) {
/* TODO(sergey): Need to do the same eval_flags trick for path
* as happening in legacy depsgraph callback.
*/
@@ -105,14 +105,14 @@ static void deformVerts(ModifierData *md,
int verts_num)
{
CurveModifierData *cmd = (CurveModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && cmd->name[0] != '\0') {
/* mesh_src is only needed for vgroups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
int defgrp_index = -1;
MOD_get_vgroup(ctx->object, mesh_src, cmd->name, &dvert, &defgrp_index);
@@ -128,8 +128,8 @@ static void deformVerts(ModifierData *md,
cmd->flag,
cmd->defaxis - 1);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
@@ -140,7 +140,7 @@ static void deformVertsEM(ModifierData *md,
float (*vertexCos)[3],
int verts_num)
{
if (mesh != NULL) {
if (mesh != nullptr) {
deformVerts(md, ctx, mesh, vertexCos, verts_num);
return;
}
@@ -171,14 +171,14 @@ static void deformVertsEM(ModifierData *md,
ctx->object,
vertexCos,
verts_num,
NULL,
nullptr,
defgrp_index,
cmd->flag,
cmd->defaxis - 1);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
@@ -188,9 +188,9 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "object", 0, IFACE_("Curve Object"), ICON_NONE);
uiItemR(layout, ptr, "deform_axis", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "deform_axis", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
modifier_panel_end(layout, ptr);
}
@@ -213,23 +213,23 @@ ModifierTypeInfo modifierType_Curve = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -39,8 +39,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
/**************************************
* Modifiers functions. *

View File

@@ -42,8 +42,8 @@
# include "PIL_time_utildefines.h"
#endif
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -87,11 +87,11 @@ static void updateFaceCount(const ModifierEvalContext *ctx,
static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *meshData)
{
DecimateModifierData *dmd = (DecimateModifierData *)md;
Mesh *mesh = meshData, *result = NULL;
Mesh *mesh = meshData, *result = nullptr;
BMesh *bm;
bool calc_vert_normal;
bool calc_face_normal;
float *vweights = NULL;
float *vweights = nullptr;
#ifdef USE_TIMEIT
TIMEIT_START(decim);
@@ -142,7 +142,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
const uint vert_tot = mesh->totvert;
uint i;
vweights = MEM_malloc_arrayN(vert_tot, sizeof(float), __func__);
vweights = static_cast<float *>(MEM_malloc_arrayN(vert_tot, sizeof(float), __func__));
if (dmd->flag & MOD_DECIM_FLAG_INVERT_VGROUP) {
for (i = 0; i < vert_tot; i++) {
@@ -158,15 +158,15 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
}
}
bm = BKE_mesh_to_bmesh_ex(mesh,
&(struct BMeshCreateParams){0},
&(struct BMeshFromMeshParams){
.calc_face_normal = calc_face_normal,
.calc_vert_normal = calc_vert_normal,
.cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
.emask = CD_MASK_ORIGINDEX,
.pmask = CD_MASK_ORIGINDEX},
});
BMeshCreateParams create_params{};
BMeshFromMeshParams convert_params{};
convert_params.calc_face_normal = calc_face_normal;
convert_params.calc_vert_normal = calc_vert_normal;
convert_params.cd_mask_extra.vmask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.emask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.pmask = CD_MASK_ORIGINDEX;
bm = BKE_mesh_to_bmesh_ex(mesh, &create_params, &convert_params);
switch (dmd->mode) {
case MOD_DECIM_MODE_COLLAPSE: {
@@ -200,9 +200,10 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
updateFaceCount(ctx, dmd, bm->totface);
/* make sure we never alloc'd these */
BLI_assert(bm->vtoolflagpool == NULL && bm->etoolflagpool == NULL && bm->ftoolflagpool == NULL);
BLI_assert(bm->vtoolflagpool == nullptr && bm->etoolflagpool == nullptr &&
bm->ftoolflagpool == nullptr);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, nullptr, mesh);
BM_mesh_free(bm);
@@ -213,7 +214,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return result;
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *sub, *row;
uiLayout *layout = panel->layout;
@@ -225,12 +226,12 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
char count_info[64];
snprintf(count_info, 32, TIP_("Face Count: %d"), RNA_int_get(ptr, "face_count"));
uiItemR(layout, ptr, "decimate_type", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "decimate_type", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiLayoutSetPropSep(layout, true);
if (decimate_type == MOD_DECIM_MODE_COLLAPSE) {
uiItemR(layout, ptr, "ratio", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "ratio", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
row = uiLayoutRowWithHeading(layout, true, IFACE_("Symmetry"));
uiLayoutSetPropDecorate(row, false);
@@ -238,25 +239,25 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiItemR(sub, ptr, "use_symmetry", 0, "", ICON_NONE);
sub = uiLayoutRow(sub, true);
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_symmetry"));
uiItemR(sub, ptr, "symmetry_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(sub, ptr, "symmetry_axis", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiItemDecoratorR(row, ptr, "symmetry_axis", 0);
uiItemR(layout, ptr, "use_collapse_triangulate", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_collapse_triangulate", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
sub = uiLayoutRow(layout, true);
bool has_vertex_group = RNA_string_length(ptr, "vertex_group") != 0;
uiLayoutSetActive(sub, has_vertex_group);
uiItemR(sub, ptr, "vertex_group_factor", 0, NULL, ICON_NONE);
uiItemR(sub, ptr, "vertex_group_factor", 0, nullptr, ICON_NONE);
}
else if (decimate_type == MOD_DECIM_MODE_UNSUBDIV) {
uiItemR(layout, ptr, "iterations", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "iterations", 0, nullptr, ICON_NONE);
}
else { /* decimate_type == MOD_DECIM_MODE_DISSOLVE. */
uiItemR(layout, ptr, "angle_limit", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle_limit", 0, nullptr, ICON_NONE);
uiLayout *col = uiLayoutColumn(layout, false);
uiItemR(col, ptr, "delimit", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_dissolve_boundaries", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "delimit", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "use_dissolve_boundaries", 0, nullptr, ICON_NONE);
}
uiItemL(layout, count_info, ICON_NONE);
@@ -279,24 +280,24 @@ ModifierTypeInfo modifierType_Decimate = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*updateDepsgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -43,8 +43,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "RE_texture.h"

View File

@@ -4,8 +4,8 @@
* \ingroup modifiers
*/
#include <stddef.h>
#include <string.h>
#include <cstddef>
#include <cstring>
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
@@ -39,8 +39,8 @@
#include "DEG_depsgraph_physics.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void initData(ModifierData *md)
{
@@ -61,7 +61,7 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
static void freeRuntimeData(void *runtime_data_v)
{
if (runtime_data_v == NULL) {
if (runtime_data_v == nullptr) {
return;
}
DynamicPaintRuntime *runtime_data = (DynamicPaintRuntime *)runtime_data_v;
@@ -79,7 +79,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *)md;
if (pmd->canvas) {
DynamicPaintSurface *surface = pmd->canvas->surfaces.first;
DynamicPaintSurface *surface = static_cast<DynamicPaintSurface *>(pmd->canvas->surfaces.first);
for (; surface; surface = surface->next) {
/* UVs: #CD_PROP_FLOAT2. */
if (surface->format == MOD_DPAINT_SURFACE_F_IMAGESEQ ||
@@ -113,17 +113,17 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
return mesh;
}
static bool is_brush_cb(Object *UNUSED(ob), ModifierData *md)
static bool is_brush_cb(Object * /*ob*/, ModifierData *md)
{
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *)md;
return (pmd->brush != NULL && pmd->type == MOD_DYNAMICPAINT_TYPE_BRUSH);
return (pmd->brush != nullptr && pmd->type == MOD_DYNAMICPAINT_TYPE_BRUSH);
}
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *)md;
/* Add relation from canvases to all brush objects. */
if (pmd->canvas != NULL && pmd->type == MOD_DYNAMICPAINT_TYPE_CANVAS) {
if (pmd->canvas != nullptr && pmd->type == MOD_DYNAMICPAINT_TYPE_CANVAS) {
LISTBASE_FOREACH (DynamicPaintSurface *, surface, &pmd->canvas->surfaces) {
if (surface->effect & MOD_DPAINT_EFFECT_DO_DRIP) {
DEG_add_forcefield_relations(
@@ -142,7 +142,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
}
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime(Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
@@ -152,7 +152,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
DynamicPaintModifierData *pmd = (DynamicPaintModifierData *)md;
if (pmd->canvas) {
DynamicPaintSurface *surface = pmd->canvas->surfaces.first;
DynamicPaintSurface *surface = static_cast<DynamicPaintSurface *>(pmd->canvas->surfaces.first);
for (; surface; surface = surface->next) {
walk(userData, ob, (ID **)&surface->brush_group, IDWALK_CB_NOP);
@@ -164,19 +164,19 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
}
}
static void foreachTexLink(ModifierData *UNUSED(md),
Object *UNUSED(ob),
TexWalkFunc UNUSED(walk),
void *UNUSED(userData))
static void foreachTexLink(ModifierData * /*md*/,
Object * /*ob*/,
TexWalkFunc /*walk*/,
void * /*userData*/)
{
// walk(userData, ob, md, ""); /* re-enable when possible */
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -201,24 +201,24 @@ ModifierTypeInfo modifierType_DynamicPaint = {
/*copyData*/ copyData,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ NULL,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ foreachTexLink,
/*freeRuntimeData*/ freeRuntimeData,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -35,8 +35,8 @@
#include "bmesh.h"
#include "bmesh_tools.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
/* For edge split modifier node. */
Mesh *doEdgeSplit(const Mesh *mesh, EdgeSplitModifierData *emd);
@@ -49,22 +49,22 @@ Mesh *doEdgeSplit(const Mesh *mesh, EdgeSplitModifierData *emd)
BMEdge *e;
const float threshold = cosf(emd->split_angle + 0.000000175f);
const bool do_split_angle = (emd->flags & MOD_EDGESPLIT_FROMANGLE) != 0 &&
emd->split_angle < (float)M_PI;
emd->split_angle < float(M_PI);
const bool do_split_all = do_split_angle && emd->split_angle < FLT_EPSILON;
const bool calc_face_normals = do_split_angle && !do_split_all;
bm = BKE_mesh_to_bmesh_ex(mesh,
&(struct BMeshCreateParams){0},
&(struct BMeshFromMeshParams){
.calc_face_normal = calc_face_normals,
.calc_vert_normal = false,
.add_key_index = false,
.use_shapekey = false,
.active_shapekey = 0,
.cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
.emask = CD_MASK_ORIGINDEX,
.pmask = CD_MASK_ORIGINDEX},
});
BMeshCreateParams create_params{};
BMeshFromMeshParams convert_params{};
convert_params.calc_face_normal = calc_face_normals;
convert_params.calc_vert_normal = false;
convert_params.add_key_index = false;
convert_params.use_shapekey = false;
convert_params.active_shapekey = 0;
convert_params.cd_mask_extra.vmask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.emask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.pmask = CD_MASK_ORIGINDEX;
bm = BKE_mesh_to_bmesh_ex(mesh, &create_params, &convert_params);
if (do_split_angle) {
BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) {
@@ -100,7 +100,7 @@ Mesh *doEdgeSplit(const Mesh *mesh, EdgeSplitModifierData *emd)
/* Uncomment for troubleshooting. */
// BM_mesh_validate(bm);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, nullptr, mesh);
BM_mesh_free(bm);
return result;
@@ -115,7 +115,7 @@ static void initData(ModifierData *md)
MEMCPY_STRUCT_AFTER(emd, DNA_struct_default_get(EdgeSplitModifierData), modifier);
}
static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx), Mesh *mesh)
static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext * /*ctx*/, Mesh *mesh)
{
Mesh *result;
EdgeSplitModifierData *emd = (EdgeSplitModifierData *)md;
@@ -129,12 +129,12 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *UNUSED(ctx)
return result;
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row, *sub;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiLayoutSetPropSep(layout, true);
@@ -167,24 +167,24 @@ ModifierTypeInfo modifierType_EdgeSplit = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ NULL,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*updateDepsgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*requiredDataMask*/ nullptr,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -46,8 +46,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void initData(ModifierData *md)
{

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <stddef.h>
#include <cstddef>
#include "MEM_guardedalloc.h"
@@ -40,16 +40,16 @@
#include "DEG_depsgraph_physics.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void initData(ModifierData *md)
{
FluidModifierData *fmd = (FluidModifierData *)md;
fmd->domain = NULL;
fmd->flow = NULL;
fmd->effector = NULL;
fmd->domain = nullptr;
fmd->flow = nullptr;
fmd->effector = nullptr;
fmd->type = 0;
fmd->time = -1;
}
@@ -96,14 +96,14 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
}
}
typedef struct FluidIsolationData {
struct FluidIsolationData {
Depsgraph *depsgraph;
Object *object;
Mesh *mesh;
FluidModifierData *fmd;
Mesh *result;
} FluidIsolationData;
};
#ifdef WITH_FLUID
static void fluid_modifier_do_isolated(void *userdata)
@@ -149,18 +149,18 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
#endif /* WITH_FLUID */
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime(Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
static bool is_flow_cb(Object *UNUSED(ob), ModifierData *md)
static bool is_flow_cb(Object * /*ob*/, ModifierData *md)
{
FluidModifierData *fmd = (FluidModifierData *)md;
return (fmd->type & MOD_FLUID_TYPE_FLOW) && fmd->flow;
}
static bool is_coll_cb(Object *UNUSED(ob), ModifierData *md)
static bool is_coll_cb(Object * /*ob*/, ModifierData *md)
{
FluidModifierData *fmd = (FluidModifierData *)md;
return (fmd->type & MOD_FLUID_TYPE_EFFEC) && fmd->effector;
@@ -190,7 +190,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
PFIELD_FLUIDFLOW,
"Fluid Force Field");
if (fmd->domain->guide_parent != NULL) {
if (fmd->domain->guide_parent != nullptr) {
DEG_add_object_relation(
ctx->node, fmd->domain->guide_parent, DEG_OB_COMP_TRANSFORM, "Fluid Guiding Object");
DEG_add_object_relation(
@@ -222,11 +222,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -249,24 +249,24 @@ ModifierTypeInfo modifierType_Fluid = {
/*copyData*/ copyData,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ NULL,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -42,8 +42,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -65,7 +65,7 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
thmd->curfalloff = BKE_curvemapping_copy(hmd->curfalloff);
thmd->indexar = MEM_dupallocN(hmd->indexar);
thmd->indexar = static_cast<int *>(MEM_dupallocN(hmd->indexar));
}
static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_masks)
@@ -76,7 +76,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
if (hmd->name[0] != '\0') {
r_cddata_masks->vmask |= CD_MASK_MDEFORMVERT;
}
if (hmd->indexar != NULL) {
if (hmd->indexar != nullptr) {
/* TODO: check which origindex are actually needed? */
r_cddata_masks->vmask |= CD_MASK_ORIGINDEX;
r_cddata_masks->emask |= CD_MASK_ORIGINDEX;
@@ -93,9 +93,7 @@ static void freeData(ModifierData *md)
MEM_SAFE_FREE(hmd->indexar);
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
HookModifierData *hmd = (HookModifierData *)md;
@@ -112,7 +110,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
HookModifierData *hmd = (HookModifierData *)md;
if (hmd->object != NULL) {
if (hmd->object != nullptr) {
if (hmd->subtarget[0]) {
DEG_add_bone_relation(
ctx->node, hmd->object, hmd->subtarget, DEG_OB_COMP_BONE, "Hook Modifier");
@@ -128,11 +126,11 @@ struct HookData_cb {
/**
* When anything other than -1, use deform groups.
* This is not the same as checking `dvert` for NULL when we have edit-meshes.
* This is not the same as checking `dvert` for nullptr when we have edit-meshes.
*/
int defgrp_index;
struct CurveMapping *curfalloff;
CurveMapping *curfalloff;
char falloff_type;
float falloff;
@@ -164,7 +162,7 @@ static BLI_bitmap *hook_index_array_to_bitmap(HookModifierData *hmd, const int v
return indexar_used;
}
static float hook_falloff(const struct HookData_cb *hd, const float len_sq)
static float hook_falloff(const HookData_cb *hd, const float len_sq)
{
BLI_assert(hd->falloff_sq);
if (len_sq > hd->falloff_sq) {
@@ -230,7 +228,7 @@ static float hook_falloff(const struct HookData_cb *hd, const float len_sq)
}
}
static void hook_co_apply(struct HookData_cb *hd, int j, const MDeformVert *dv)
static void hook_co_apply(HookData_cb *hd, int j, const MDeformVert *dv)
{
float *co = hd->vertexCos[j];
float fac;
@@ -254,7 +252,7 @@ static void hook_co_apply(struct HookData_cb *hd, int j, const MDeformVert *dv)
}
if (fac) {
if (dv != NULL) {
if (dv != nullptr) {
fac *= hd->invert_vgroup ? 1.0f - BKE_defvert_find_weight(dv, hd->defgrp_index) :
BKE_defvert_find_weight(dv, hd->defgrp_index);
}
@@ -268,7 +266,7 @@ static void hook_co_apply(struct HookData_cb *hd, int j, const MDeformVert *dv)
}
static void deformVerts_do(HookModifierData *hmd,
const ModifierEvalContext *UNUSED(ctx),
const ModifierEvalContext * /*ctx*/,
Object *ob,
Mesh *mesh,
BMEditMesh *em,
@@ -280,10 +278,10 @@ static void deformVerts_do(HookModifierData *hmd,
float dmat[4][4];
int i, *index_pt;
const MDeformVert *dvert;
struct HookData_cb hd;
HookData_cb hd;
const bool invert_vgroup = (hmd->flag & MOD_HOOK_INVERT_VGROUP) != 0;
if (hmd->curfalloff == NULL) {
if (hmd->curfalloff == nullptr) {
/* should never happen, but bad lib linking could cause it */
hmd->curfalloff = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -300,7 +298,7 @@ static void deformVerts_do(HookModifierData *hmd,
if (hd.defgrp_index != -1) {
/* Edit-mesh. */
if (em != NULL) {
if (em != nullptr) {
cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT);
if (cd_dvert_offset == -1) {
hd.defgrp_index = -1;
@@ -308,7 +306,7 @@ static void deformVerts_do(HookModifierData *hmd,
}
else {
/* Regular mesh. */
if (dvert == NULL) {
if (dvert == nullptr) {
hd.defgrp_index = -1;
}
}
@@ -362,10 +360,12 @@ static void deformVerts_do(HookModifierData *hmd,
else if (hmd->indexar) { /* vertex indices? */
const int *origindex_ar;
/* if mesh is present and has original index data, use it */
if (mesh && (origindex_ar = CustomData_get_layer(&mesh->vdata, CD_ORIGINDEX))) {
if (mesh && (origindex_ar = static_cast<const int *>(
CustomData_get_layer(&mesh->vdata, CD_ORIGINDEX))))
{
int verts_orig_num = verts_num;
if (ob->type == OB_MESH) {
const Mesh *me_orig = ob->data;
const Mesh *me_orig = static_cast<const Mesh *>(ob->data);
verts_orig_num = me_orig->totvert;
}
BLI_bitmap *indexar_used = hook_index_array_to_bitmap(hmd, verts_orig_num);
@@ -373,20 +373,21 @@ static void deformVerts_do(HookModifierData *hmd,
int i_orig = origindex_ar[i];
BLI_assert(i_orig < verts_orig_num);
if (BLI_BITMAP_TEST(indexar_used, i_orig)) {
hook_co_apply(&hd, i, dvert ? &dvert[i] : NULL);
hook_co_apply(&hd, i, dvert ? &dvert[i] : nullptr);
}
}
MEM_freeN(indexar_used);
}
else { /* missing mesh or ORIGINDEX */
if ((em != NULL) && (hd.defgrp_index != -1)) {
if ((em != nullptr) && (hd.defgrp_index != -1)) {
BLI_assert(em->bm->totvert == verts_num);
BLI_bitmap *indexar_used = hook_index_array_to_bitmap(hmd, verts_num);
BMIter iter;
BMVert *v;
BM_ITER_MESH_INDEX (v, &iter, em->bm, BM_VERTS_OF_MESH, i) {
if (BLI_BITMAP_TEST(indexar_used, i)) {
const MDeformVert *dv = BM_ELEM_CD_GET_VOID_P(v, cd_dvert_offset);
const MDeformVert *dv = static_cast<const MDeformVert *>(
BM_ELEM_CD_GET_VOID_P(v, cd_dvert_offset));
hook_co_apply(&hd, i, dv);
}
}
@@ -396,24 +397,25 @@ static void deformVerts_do(HookModifierData *hmd,
for (i = 0, index_pt = hmd->indexar; i < hmd->indexar_num; i++, index_pt++) {
const int j = *index_pt;
if (j < verts_num) {
hook_co_apply(&hd, j, dvert ? &dvert[j] : NULL);
hook_co_apply(&hd, j, dvert ? &dvert[j] : nullptr);
}
}
}
}
}
else if (hd.defgrp_index != -1) { /* vertex group hook */
if (em != NULL) {
if (em != nullptr) {
BLI_assert(em->bm->totvert == verts_num);
BMIter iter;
BMVert *v;
BM_ITER_MESH_INDEX (v, &iter, em->bm, BM_VERTS_OF_MESH, i) {
const MDeformVert *dv = BM_ELEM_CD_GET_VOID_P(v, cd_dvert_offset);
const MDeformVert *dv = static_cast<const MDeformVert *>(
BM_ELEM_CD_GET_VOID_P(v, cd_dvert_offset));
hook_co_apply(&hd, i, dv);
}
}
else {
BLI_assert(dvert != NULL);
BLI_assert(dvert != nullptr);
for (i = 0; i < verts_num; i++) {
hook_co_apply(&hd, i, &dvert[i]);
}
@@ -421,35 +423,35 @@ static void deformVerts_do(HookModifierData *hmd,
}
}
static void deformVerts(struct ModifierData *md,
const struct ModifierEvalContext *ctx,
struct Mesh *mesh,
static void deformVerts(ModifierData *md,
const ModifierEvalContext *ctx,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
HookModifierData *hmd = (HookModifierData *)md;
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
deformVerts_do(hmd, ctx, ctx->object, mesh_src, NULL, vertexCos, verts_num);
deformVerts_do(hmd, ctx, ctx->object, mesh_src, nullptr, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(struct ModifierData *md,
const struct ModifierEvalContext *ctx,
struct BMEditMesh *editData,
struct Mesh *mesh,
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
HookModifierData *hmd = (HookModifierData *)md;
deformVerts_do(hmd, ctx, ctx->object, mesh, mesh ? NULL : editData, vertexCos, verts_num);
deformVerts_do(hmd, ctx, ctx->object, mesh, mesh ? nullptr : editData, vertexCos, verts_num);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
@@ -462,7 +464,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, false);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, nullptr, ICON_NONE);
if (!RNA_pointer_is_null(&hook_object_ptr) &&
RNA_enum_get(&hook_object_ptr, "type") == OB_ARMATURE)
{
@@ -470,9 +472,9 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiItemPointerR(
col, ptr, "subtarget", &hook_object_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
if (RNA_enum_get(&ob_ptr, "mode") == OB_MODE_EDIT) {
row = uiLayoutRow(layout, true);
@@ -486,12 +488,12 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void falloff_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
bool use_falloff = RNA_enum_get(ptr, "falloff_type") != eWarp_Falloff_None;
@@ -501,9 +503,9 @@ static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
row = uiLayoutRow(layout, false);
uiLayoutSetActive(row, use_falloff);
uiItemR(row, ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "falloff_radius", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "use_falloff_uniform", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_falloff_uniform", 0, nullptr, ICON_NONE);
if (RNA_enum_get(ptr, "falloff_type") == eWarp_Falloff_Curve) {
uiTemplateCurveMapping(layout, ptr, "falloff_curve", 0, false, false, false, false);
@@ -514,10 +516,10 @@ static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Hook, panel_draw);
modifier_subpanel_register(
region_type, "falloff", "Falloff", NULL, falloff_panel_draw, panel_type);
region_type, "falloff", "Falloff", nullptr, falloff_panel_draw, panel_type);
}
static void blendWrite(BlendWriter *writer, const ID *UNUSED(id_owner), const ModifierData *md)
static void blendWrite(BlendWriter *writer, const ID * /*id_owner*/, const ModifierData *md)
{
const HookModifierData *hmd = (const HookModifierData *)md;
@@ -554,22 +556,22 @@ ModifierTypeInfo modifierType_Hook = {
/*copyData*/ copyData,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ blendWrite,
/*blendRead*/ blendRead,

View File

@@ -39,8 +39,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "eigen_capi.h"

View File

@@ -34,8 +34,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "eigen_capi.h"

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_utildefines.h"
@@ -35,8 +35,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -67,9 +67,7 @@ static bool is_disabled(LatticeModifierData *lmd)
return !lmd->object || lmd->object->type != OB_LATTICE;
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(userRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
LatticeModifierData *lmd = (LatticeModifierData *)md;
return is_disabled(lmd);
@@ -96,13 +94,12 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
static void deformVerts(ModifierData *md,
const ModifierEvalContext *ctx,
struct Mesh *mesh,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
LatticeModifierData *lmd = (LatticeModifierData *)md;
struct Mesh *mesh_src = MOD_deform_mesh_eval_get(
ctx->object, NULL, mesh, NULL, verts_num, false);
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */
@@ -115,19 +112,19 @@ static void deformVerts(ModifierData *md,
lmd->strength,
mesh_src);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *em,
struct Mesh *mesh,
BMEditMesh *em,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
if (mesh != NULL) {
if (mesh != nullptr) {
deformVerts(md, ctx, mesh, vertexCos, verts_num);
return;
}
@@ -140,7 +137,7 @@ static void deformVertsEM(ModifierData *md,
lmd->object, ctx->object, vertexCos, verts_num, lmd->flag, lmd->name, lmd->strength, em);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
@@ -149,11 +146,11 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "object", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
modifier_panel_end(layout, ptr);
}
@@ -176,23 +173,23 @@ ModifierTypeInfo modifierType_Lattice = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -42,8 +42,8 @@
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "BLI_array.hh"
#include "BLI_listbase_wrapper.hh"

View File

@@ -34,8 +34,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "BLI_index_range.hh"
#include "BLI_math_matrix_types.hh"

View File

@@ -4,7 +4,7 @@
* \ingroup modifiers
*/
#include <stdio.h>
#include <cstdio>
#include "BLI_utildefines.h"
@@ -40,10 +40,10 @@
#include "MEM_guardedalloc.h"
#include "MOD_meshcache_util.h" /* utility functions */
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_meshcache_util.hh" /* utility functions */
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -54,15 +54,13 @@ static void initData(ModifierData *md)
MEMCPY_STRUCT_AFTER(mcmd, DNA_struct_default_get(MeshCacheModifierData), modifier);
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *md)
static bool dependsOnTime(Scene * /*scene*/, ModifierData *md)
{
MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
return (mcmd->play_mode == MOD_MESHCACHE_PLAY_CFEA);
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
@@ -84,15 +82,15 @@ static void meshcache_do(MeshCacheModifierData *mcmd,
float(*vertexCos_Store)[3] = (use_factor || influence_group_index != -1 ||
(mcmd->deform_mode == MOD_MESHCACHE_DEFORM_INTEGRATE)) ?
MEM_malloc_arrayN(
verts_num, sizeof(*vertexCos_Store), __func__) :
NULL;
static_cast<float(*)[3]>(MEM_malloc_arrayN(
verts_num, sizeof(*vertexCos_Store), __func__)) :
nullptr;
float(*vertexCos)[3] = vertexCos_Store ? vertexCos_Store : vertexCos_Real;
const float fps = FPS;
char filepath[FILE_MAX];
const char *err_str = NULL;
const char *err_str = nullptr;
bool ok;
float time;
@@ -163,7 +161,7 @@ static void meshcache_do(MeshCacheModifierData *mcmd,
/* -------------------------------------------------------------------- */
/* tricky shape key integration (slow!) */
if (mcmd->deform_mode == MOD_MESHCACHE_DEFORM_INTEGRATE) {
Mesh *me = ob->data;
Mesh *me = static_cast<Mesh *>(ob->data);
/* we could support any object type */
if (UNLIKELY(ob->type != OB_MESH)) {
@@ -176,7 +174,8 @@ static void meshcache_do(MeshCacheModifierData *mcmd,
BKE_modifier_set_error(ob, &mcmd->modifier, "'Integrate' requires faces");
}
else {
float(*vertexCos_New)[3] = MEM_malloc_arrayN(verts_num, sizeof(*vertexCos_New), __func__);
float(*vertexCos_New)[3] = static_cast<float(*)[3]>(
MEM_malloc_arrayN(verts_num, sizeof(*vertexCos_New), __func__));
BKE_mesh_calc_relative_deform(
BKE_mesh_poly_offsets(me),
@@ -244,7 +243,7 @@ static void meshcache_do(MeshCacheModifierData *mcmd,
const float global_offset = (mcmd->flag & MOD_MESHCACHE_INVERT_VERTEX_GROUP) ?
mcmd->factor :
0.0f;
if (BKE_mesh_deform_verts(mesh) != NULL) {
if (BKE_mesh_deform_verts(mesh) != nullptr) {
for (int i = 0; i < verts_num; i++) {
/* For each vertex, compute its blending factor between the mesh cache (for `fac = 0`)
* and the former position of the vertex (for `fac = 1`). */
@@ -280,22 +279,22 @@ static void deformVerts(ModifierData *md,
MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && mcmd->defgrp_name[0] != '\0') {
/* `mesh_src` is only needed for vertex groups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
meshcache_do(mcmd, scene, ctx->object, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *editData,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
@@ -303,24 +302,24 @@ static void deformVertsEM(ModifierData *md,
MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && mcmd->defgrp_name[0] != '\0') {
/* `mesh_src` is only needed for vertex groups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, nullptr, verts_num, false);
}
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
meshcache_do(mcmd, scene, ctx->object, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
@@ -329,62 +328,62 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "cache_format", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "filepath", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "cache_format", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "filepath", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "factor", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "deform_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "interpolation", 0, NULL, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
uiItemR(layout, ptr, "factor", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
uiItemR(layout, ptr, "deform_mode", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "interpolation", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
modifier_panel_end(layout, ptr);
}
static void time_remapping_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void time_remapping_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemR(layout, ptr, "time_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "time_mode", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "play_mode", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "play_mode", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
if (RNA_enum_get(ptr, "play_mode") == MOD_MESHCACHE_PLAY_CFEA) {
uiItemR(layout, ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "frame_scale", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "frame_start", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "frame_scale", 0, nullptr, ICON_NONE);
}
else { /* play_mode == MOD_MESHCACHE_PLAY_EVAL */
int time_mode = RNA_enum_get(ptr, "time_mode");
if (time_mode == MOD_MESHCACHE_TIME_FRAME) {
uiItemR(layout, ptr, "eval_frame", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_frame", 0, nullptr, ICON_NONE);
}
else if (time_mode == MOD_MESHCACHE_TIME_SECONDS) {
uiItemR(layout, ptr, "eval_time", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_time", 0, nullptr, ICON_NONE);
}
else { /* time_mode == MOD_MESHCACHE_TIME_FACTOR */
uiItemR(layout, ptr, "eval_factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "eval_factor", 0, nullptr, ICON_NONE);
}
}
}
static void axis_mapping_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void axis_mapping_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiLayoutSetRedAlert(col, RNA_enum_get(ptr, "forward_axis") == RNA_enum_get(ptr, "up_axis"));
uiItemR(col, ptr, "forward_axis", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "up_axis", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "forward_axis", 0, nullptr, ICON_NONE);
uiItemR(col, ptr, "up_axis", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "flip_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "flip_axis", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
}
static void panelRegister(ARegionType *region_type)
@@ -394,11 +393,11 @@ static void panelRegister(ARegionType *region_type)
modifier_subpanel_register(region_type,
"time_remapping",
"Time Remapping",
NULL,
nullptr,
time_remapping_panel_draw,
panel_type);
modifier_subpanel_register(
region_type, "axis_mapping", "Axis Mapping", NULL, axis_mapping_panel_draw, panel_type);
region_type, "axis_mapping", "Axis Mapping", nullptr, axis_mapping_panel_draw, panel_type);
}
ModifierTypeInfo modifierType_MeshCache = {
@@ -414,23 +413,23 @@ ModifierTypeInfo modifierType_MeshCache = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ NULL,
/*freeData*/ NULL,
/*requiredDataMask*/ nullptr,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ NULL,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -4,9 +4,9 @@
* \ingroup modifiers
*/
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <cerrno>
#include <cstdio>
#include <cstring>
#include "BLI_utildefines.h"
@@ -21,12 +21,12 @@
#include "DNA_modifier_types.h"
#include "MOD_meshcache_util.h" /* own include */
#include "MOD_meshcache_util.hh" /* own include */
typedef struct MDDHead {
struct MDDHead {
int frame_tot;
int verts_tot;
} MDDHead; /* frames, verts */
}; /* frames, verts */
static bool meshcache_read_mdd_head(FILE *fp,
const int verts_tot,
@@ -83,7 +83,7 @@ static bool meshcache_read_mdd_range(FILE *fp,
static bool meshcache_read_mdd_range_from_time(FILE *fp,
const int verts_tot,
const float time,
const float UNUSED(fps),
const float /*fps*/,
float *r_frame,
const char **err_str)
{
@@ -123,10 +123,10 @@ static bool meshcache_read_mdd_range_from_time(FILE *fp,
const float range = f_time - f_time_prev;
if (range <= FRAME_SNAP_EPS) {
frame = (float)i;
frame = float(i);
}
else {
frame = (float)(i - 1) + ((time - f_time_prev) / range);
frame = float(i - 1) + ((time - f_time_prev) / range);
}
}
@@ -269,7 +269,7 @@ bool MOD_meshcache_read_mdd_times(const char *filepath,
FILE *fp = BLI_fopen(filepath, "rb");
bool ok;
if (fp == NULL) {
if (fp == nullptr) {
*err_str = errno ? strerror(errno) : "Unknown error opening file";
return false;
}
@@ -296,7 +296,7 @@ bool MOD_meshcache_read_mdd_times(const char *filepath,
return false;
}
frame = CLAMPIS(time, 0.0f, 1.0f) * (float)mdd_head.frame_tot;
frame = CLAMPIS(time, 0.0f, 1.0f) * float(mdd_head.frame_tot);
rewind(fp);
break;
}

View File

@@ -4,9 +4,9 @@
* \ingroup modifiers
*/
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <cerrno>
#include <cstdio>
#include <cstring>
#include "BLI_utildefines.h"
@@ -21,16 +21,16 @@
#include "DNA_modifier_types.h"
#include "MOD_meshcache_util.h" /* own include */
#include "MOD_meshcache_util.hh" /* own include */
typedef struct PC2Head {
struct PC2Head {
char header[12]; /* 'POINTCACHE2\0' */
int file_version; /* unused - should be 1 */
int verts_tot;
float start;
float sampling;
int frame_tot;
} PC2Head; /* frames, verts */
}; /* frames, verts */
static bool meshcache_read_pc2_head(FILE *fp,
const int verts_tot,
@@ -109,7 +109,7 @@ static bool meshcache_read_pc2_range_from_time(FILE *fp,
frame = ((time / fps) - pc2_head.start) / pc2_head.sampling;
if (frame >= pc2_head.frame_tot) {
frame = (float)(pc2_head.frame_tot - 1);
frame = float(pc2_head.frame_tot - 1);
}
else if (frame < 0.0f) {
frame = 0.0f;
@@ -238,7 +238,7 @@ bool MOD_meshcache_read_pc2_times(const char *filepath,
FILE *fp = BLI_fopen(filepath, "rb");
bool ok;
if (fp == NULL) {
if (fp == nullptr) {
*err_str = errno ? strerror(errno) : "Unknown error opening file";
return false;
}
@@ -265,7 +265,7 @@ bool MOD_meshcache_read_pc2_times(const char *filepath,
return false;
}
frame = CLAMPIS(time, 0.0f, 1.0f) * (float)pc2_head.frame_tot;
frame = CLAMPIS(time, 0.0f, 1.0f) * float(pc2_head.frame_tot);
rewind(fp);
break;
}

View File

@@ -10,7 +10,7 @@
#include "DNA_modifier_types.h"
#include "MOD_meshcache_util.h"
#include "MOD_meshcache_util.hh"
void MOD_meshcache_calc_range(const float frame,
const char interp,
@@ -25,7 +25,7 @@ void MOD_meshcache_calc_range(const float frame,
else {
const float tframe = floorf(frame);
const float range = frame - tframe;
r_index_range[0] = (int)tframe;
r_index_range[0] = int(tframe);
if (range <= FRAME_SNAP_EPS) {
/* we're close enough not to need blending */
r_index_range[1] = r_index_range[0];

View File

@@ -44,8 +44,8 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -94,28 +94,28 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla
BKE_modifier_copydata_generic(md, target, flag);
if (mmd->bindinfluences) {
tmmd->bindinfluences = MEM_dupallocN(mmd->bindinfluences);
tmmd->bindinfluences = static_cast<MDefInfluence *>(MEM_dupallocN(mmd->bindinfluences));
}
if (mmd->bindoffsets) {
tmmd->bindoffsets = MEM_dupallocN(mmd->bindoffsets);
tmmd->bindoffsets = static_cast<int *>(MEM_dupallocN(mmd->bindoffsets));
}
if (mmd->bindcagecos) {
tmmd->bindcagecos = MEM_dupallocN(mmd->bindcagecos);
tmmd->bindcagecos = static_cast<float *>(MEM_dupallocN(mmd->bindcagecos));
}
if (mmd->dyngrid) {
tmmd->dyngrid = MEM_dupallocN(mmd->dyngrid);
tmmd->dyngrid = static_cast<MDefCell *>(MEM_dupallocN(mmd->dyngrid));
}
if (mmd->dyninfluences) {
tmmd->dyninfluences = MEM_dupallocN(mmd->dyninfluences);
tmmd->dyninfluences = static_cast<MDefInfluence *>(MEM_dupallocN(mmd->dyninfluences));
}
if (mmd->dynverts) {
tmmd->dynverts = MEM_dupallocN(mmd->dynverts);
tmmd->dynverts = static_cast<int *>(MEM_dupallocN(mmd->dynverts));
}
if (mmd->bindweights) {
tmmd->bindweights = MEM_dupallocN(mmd->bindweights); /* deprecated */
tmmd->bindweights = static_cast<float *>(MEM_dupallocN(mmd->bindweights)); /* deprecated */
}
if (mmd->bindcos) {
tmmd->bindcos = MEM_dupallocN(mmd->bindcos); /* deprecated */
tmmd->bindcos = static_cast<float *>(MEM_dupallocN(mmd->bindcos)); /* deprecated */
}
}
@@ -129,9 +129,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
}
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
MeshDeformModifierData *mmd = (MeshDeformModifierData *)md;
@@ -153,7 +151,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
MeshDeformModifierData *mmd = (MeshDeformModifierData *)md;
if (mmd->object != NULL) {
if (mmd->object != nullptr) {
DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_TRANSFORM, "Mesh Deform Modifier");
DEG_add_object_relation(ctx->node, mmd->object, DEG_OB_COMP_GEOMETRY, "Mesh Deform Modifier");
}
@@ -179,7 +177,7 @@ static float meshdeform_dynamic_bind(MeshDeformModifierData *mmd, float (*dco)[3
for (i = 0; i < 3; i++) {
gridvec[i] = (vec[i] - mmd->dyncellmin[i] - mmd->dyncellwidth * 0.5f) / mmd->dyncellwidth;
ivec[i] = (int)gridvec[i];
ivec[i] = int(gridvec[i]);
dvec[i] = gridvec[i] - ivec[i];
}
@@ -250,7 +248,7 @@ static float meshdeform_dynamic_bind(MeshDeformModifierData *mmd, float (*dco)[3
return totweight;
}
typedef struct MeshdeformUserdata {
struct MeshdeformUserdata {
/*const*/ MeshDeformModifierData *mmd;
const MDeformVert *dvert;
/*const*/ float (*dco)[3];
@@ -258,13 +256,13 @@ typedef struct MeshdeformUserdata {
float (*vertexCos)[3];
float (*cagemat)[4];
float (*icagemat)[3];
} MeshdeformUserdata;
};
static void meshdeform_vert_task(void *__restrict userdata,
const int iter,
const TaskParallelTLS *__restrict UNUSED(tls))
const TaskParallelTLS *__restrict /*tls*/)
{
MeshdeformUserdata *data = userdata;
MeshdeformUserdata *data = static_cast<MeshdeformUserdata *>(userdata);
/*const*/ MeshDeformModifierData *mmd = data->mmd;
const MDeformVert *dvert = data->dvert;
const int defgrp_index = data->defgrp_index;
@@ -328,15 +326,15 @@ static void meshdeformModifier_do(ModifierData *md,
Object *ob = ctx->object;
Mesh *cagemesh;
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
float imat[4][4], cagemat[4][4], iobmat[4][4], icagemat[3][3], cmat[4][4];
float(*dco)[3] = NULL, (*bindcagecos)[3];
float(*dco)[3] = nullptr, (*bindcagecos)[3];
int a, cage_verts_num, defgrp_index;
MeshdeformUserdata data;
static int recursive_bind_sentinel = 0;
if (mmd->object == NULL || (mmd->bindcagecos == NULL && mmd->bindfunc == NULL)) {
if (mmd->object == nullptr || (mmd->bindcagecos == nullptr && mmd->bindfunc == nullptr)) {
return;
}
@@ -352,7 +350,7 @@ static void meshdeformModifier_do(ModifierData *md,
*/
Object *ob_target = mmd->object;
cagemesh = BKE_modifier_get_evaluated_mesh_from_evaluated_object(ob_target);
if (cagemesh == NULL) {
if (cagemesh == nullptr) {
BKE_modifier_set_error(ctx->object, md, "Cannot get mesh from cage object");
return;
}
@@ -392,7 +390,7 @@ static void meshdeformModifier_do(ModifierData *md,
ob, md, "Cage vertices changed from %d to %d", mmd->cage_verts_num, cage_verts_num);
goto finally;
}
else if (mmd->bindcagecos == NULL) {
else if (mmd->bindcagecos == nullptr) {
BKE_modifier_set_error(ob, md, "Bind data missing");
goto finally;
}
@@ -400,7 +398,7 @@ static void meshdeformModifier_do(ModifierData *md,
/* We allocate 1 element extra to make it possible to
* load the values to SSE registers, which are float4.
*/
dco = MEM_calloc_arrayN((cage_verts_num + 1), sizeof(*dco), "MDefDco");
dco = static_cast<float(*)[3]>(MEM_calloc_arrayN((cage_verts_num + 1), sizeof(*dco), "MDefDco"));
zero_v3(dco[cage_verts_num]);
/* setup deformation data */
@@ -442,35 +440,36 @@ static void deformVerts(ModifierData *md,
float (*vertexCos)[3],
int verts_num)
{
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
MOD_previous_vcos_store(md, vertexCos); /* if next modifier needs original vertices */
meshdeformModifier_do(md, ctx, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *editData,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
Mesh *mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, verts_num, false);
Mesh *mesh_src = MOD_deform_mesh_eval_get(
ctx->object, editData, mesh, nullptr, verts_num, false);
/* TODO(@ideasman42): use edit-mode data only (remove this line). */
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
meshdeformModifier_do(md, ctx, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
@@ -502,9 +501,9 @@ void BKE_modifier_mdef_compact_influences(ModifierData *md)
}
/* allocate bind influences */
mmd->bindinfluences = MEM_calloc_arrayN(
mmd->influences_num, sizeof(MDefInfluence), "MDefBindInfluence");
mmd->bindoffsets = MEM_calloc_arrayN((verts_num + 1), sizeof(int), "MDefBindOffset");
mmd->bindinfluences = static_cast<MDefInfluence *>(
MEM_calloc_arrayN(mmd->influences_num, sizeof(MDefInfluence), __func__));
mmd->bindoffsets = static_cast<int *>(MEM_calloc_arrayN((verts_num + 1), sizeof(int), __func__));
/* write influences */
influences_num = 0;
@@ -538,10 +537,10 @@ void BKE_modifier_mdef_compact_influences(ModifierData *md)
/* free */
MEM_freeN(mmd->bindweights);
mmd->bindweights = NULL;
mmd->bindweights = nullptr;
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
@@ -555,14 +554,14 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
col = uiLayoutColumn(layout, true);
uiLayoutSetEnabled(col, !is_bound);
uiItemR(col, ptr, "object", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
col = uiLayoutColumn(layout, false);
uiLayoutSetEnabled(col, !is_bound);
uiItemR(col, ptr, "precision", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_dynamic_bind", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "precision", 0, nullptr, ICON_NONE);
uiItemR(col, ptr, "use_dynamic_bind", 0, nullptr, ICON_NONE);
uiItemO(layout,
is_bound ? IFACE_("Unbind") : IFACE_("Bind"),
@@ -589,16 +588,16 @@ static void blendWrite(BlendWriter *writer, const ID *id_owner, const ModifierDa
/* Modifier coming from linked data cannot be bound from an override, so we can remove all
* binding data, can save a significant amount of memory. */
mmd.influences_num = 0;
mmd.bindinfluences = NULL;
mmd.bindinfluences = nullptr;
mmd.verts_num = 0;
mmd.bindoffsets = NULL;
mmd.bindoffsets = nullptr;
mmd.cage_verts_num = 0;
mmd.bindcagecos = NULL;
mmd.bindcagecos = nullptr;
mmd.dyngridsize = 0;
mmd.dyngrid = NULL;
mmd.dyngrid = nullptr;
mmd.influences_num = 0;
mmd.dyninfluences = NULL;
mmd.dynverts = NULL;
mmd.dyninfluences = nullptr;
mmd.dynverts = nullptr;
}
}
@@ -609,12 +608,12 @@ static void blendWrite(BlendWriter *writer, const ID *id_owner, const ModifierDa
BLO_write_struct_array(writer, MDefInfluence, mmd.influences_num, mmd.bindinfluences);
/* NOTE: `bindoffset` is abusing `verts_num + 1` as its size, this becomes an incorrect value in
* case `verts_num == 0`, since `bindoffset` is then NULL, not a size 1 allocated array. */
* case `verts_num == 0`, since `bindoffset` is then nullptr, not a size 1 allocated array. */
if (mmd.verts_num > 0) {
BLO_write_int32_array(writer, mmd.verts_num + 1, mmd.bindoffsets);
}
else {
BLI_assert(mmd.bindoffsets == NULL);
BLI_assert(mmd.bindoffsets == nullptr);
}
BLO_write_float3_array(writer, mmd.cage_verts_num, mmd.bindcagecos);
@@ -630,7 +629,7 @@ static void blendRead(BlendDataReader *reader, ModifierData *md)
BLO_read_data_address(reader, &mmd->bindinfluences);
/* NOTE: `bindoffset` is abusing `verts_num + 1` as its size, this becomes an incorrect value in
* case `verts_num == 0`, since `bindoffset` is then NULL, not a size 1 allocated array. */
* case `verts_num == 0`, since `bindoffset` is then nullptr, not a size 1 allocated array. */
if (mmd->verts_num > 0) {
BLO_read_int32_array(reader, mmd->verts_num + 1, &mmd->bindoffsets);
}
@@ -658,22 +657,22 @@ ModifierTypeInfo modifierType_MeshDeform = {
/*copyData*/ copyData,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ freeData,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ blendWrite,
/*blendRead*/ blendRead,

View File

@@ -44,8 +44,8 @@
#include "GEO_mesh_primitive_cuboid.hh"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#if defined(WITH_USD) || defined(WITH_ALEMBIC)
# include "BKE_global.h"

View File

@@ -33,8 +33,8 @@
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "GEO_mesh_merge_by_distance.hh"

View File

@@ -42,8 +42,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
struct MultiresRuntimeData {
/* Cached subdivision surface descriptor, with topology and settings. */

View File

@@ -75,9 +75,9 @@
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
#include "MOD_nodes.h"
#include "MOD_ui_common.h"
#include "MOD_ui_common.hh"
#include "ED_object.h"
#include "ED_screen.h"

View File

@@ -1,61 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2005 Blender Foundation */
/** \file
* \ingroup modifiers
*/
#include <stdio.h>
#include "BLI_utildefines.h"
#include "MOD_modifiertypes.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
/* We only need to define isDisabled; because it always returns 1,
* no other functions will be called
*/
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *UNUSED(md),
bool UNUSED(userRenderParams))
{
return true;
}
ModifierTypeInfo modifierType_None = {
/*name*/ "None",
/*structName*/ "ModifierData",
/*structSize*/ sizeof(ModifierData),
/*srna*/ &RNA_Modifier,
/*type*/ eModifierTypeType_None,
/*flags*/ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs,
/*icon*/ ICON_NONE,
/*copyData*/ NULL,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*initData*/ NULL,
/*requiredDataMask*/ NULL,
/*freeData*/ NULL,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*panelRegister*/ NULL,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
};

View File

@@ -0,0 +1,56 @@
/* SPDX-License-Identifier: GPL-2.0-or-later
* Copyright 2005 Blender Foundation */
/** \file
* \ingroup modifiers
*/
#include "BLI_utildefines.h"
#include "MOD_modifiertypes.hh"
#include "UI_resources.h"
#include "RNA_prototypes.h"
/* We only need to define isDisabled; because it always returns 1,
* no other functions will be called
*/
static bool isDisabled(const Scene * /*scene*/, ModifierData * /*md*/, bool /*useRenderParams*/)
{
return true;
}
ModifierTypeInfo modifierType_None = {
/*name*/ "None",
/*structName*/ "ModifierData",
/*structSize*/ sizeof(ModifierData),
/*srna*/ &RNA_Modifier,
/*type*/ eModifierTypeType_None,
/*flags*/ eModifierTypeFlag_AcceptsMesh | eModifierTypeFlag_AcceptsCVs,
/*icon*/ ICON_NONE,
/*copyData*/ nullptr,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ nullptr,
/*requiredDataMask*/ nullptr,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ nullptr,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -37,8 +37,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void generate_vert_coordinates(Mesh *mesh,
Object *ob,

View File

@@ -41,8 +41,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#ifdef WITH_OCEANSIM
static void init_cache_data(Object *ob, OceanModifierData *omd, const int resolution)

View File

@@ -40,8 +40,8 @@
#include "DEG_depsgraph_build.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void initData(ModifierData *md)
{

View File

@@ -36,8 +36,8 @@
#include "BLO_read_write.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{

View File

@@ -32,8 +32,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include <cstdlib>
#include <cstring>

View File

@@ -40,8 +40,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "BLI_strict_flags.h"

View File

@@ -21,13 +21,13 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
#include "UI_resources.h"
static void deformVerts(ModifierData *UNUSED(md),
static void deformVerts(ModifierData * /*md*/,
const ModifierEvalContext *ctx,
Mesh *UNUSED(mesh),
Mesh * /*mesh*/,
float (*vertexCos)[3],
int verts_num)
{
@@ -35,8 +35,11 @@ static void deformVerts(ModifierData *UNUSED(md),
if (key && key->block.first) {
int deformedVerts_tot;
BKE_key_evaluate_object_ex(
ctx->object, &deformedVerts_tot, (float *)vertexCos, sizeof(*vertexCos) * verts_num, NULL);
BKE_key_evaluate_object_ex(ctx->object,
&deformedVerts_tot,
(float *)vertexCos,
sizeof(*vertexCos) * verts_num,
nullptr);
}
}
@@ -73,7 +76,7 @@ static void deformMatrices(ModifierData *md,
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *UNUSED(editData),
BMEditMesh * /*editData*/,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
@@ -85,10 +88,10 @@ static void deformVertsEM(ModifierData *md,
}
}
static void deformMatricesEM(ModifierData *UNUSED(md),
static void deformMatricesEM(ModifierData * /*md*/,
const ModifierEvalContext *ctx,
struct BMEditMesh *UNUSED(editData),
Mesh *UNUSED(mesh),
BMEditMesh * /*editData*/,
Mesh * /*mesh*/,
float (*vertexCos)[3],
float (*defMats)[3][3],
int verts_num)
@@ -118,26 +121,26 @@ ModifierTypeInfo modifierType_ShapeKey = {
eModifierTypeFlag_SupportsEditmode,
/*icon*/ ICON_DOT,
/*copyData*/ NULL,
/*copyData*/ nullptr,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ deformMatrices,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ deformMatricesEM,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ NULL,
/*requiredDataMask*/ NULL,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*updateDepsgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*panelRegister*/ NULL,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*initData*/ nullptr,
/*requiredDataMask*/ nullptr,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ nullptr,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_utildefines.h"
@@ -34,8 +34,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static bool dependsOnNormals(ModifierData *md);
@@ -58,9 +58,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
}
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(useRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
ShrinkwrapModifierData *smd = (ShrinkwrapModifierData *)md;
@@ -93,49 +91,49 @@ static void deformVerts(ModifierData *md,
int verts_num)
{
ShrinkwrapModifierData *swmd = (ShrinkwrapModifierData *)md;
struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = NULL;
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = nullptr;
if (ELEM(ctx->object->type, OB_MESH, OB_LATTICE) || (swmd->shrinkType == MOD_SHRINKWRAP_PROJECT))
{
/* mesh_src is needed for vgroups, but also used as ShrinkwrapCalcData.vert when projecting.
* Avoid time-consuming mesh conversion for curves when not projecting. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
int defgrp_index = -1;
MOD_get_vgroup(ctx->object, mesh_src, swmd->vgroup_name, &dvert, &defgrp_index);
shrinkwrapModifier_deform(
swmd, ctx, scene, ctx->object, mesh_src, dvert, defgrp_index, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *editData,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
ShrinkwrapModifierData *swmd = (ShrinkwrapModifierData *)md;
struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = NULL;
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Mesh *mesh_src = nullptr;
if ((swmd->vgroup_name[0] != '\0') || (swmd->shrinkType == MOD_SHRINKWRAP_PROJECT)) {
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, nullptr, verts_num, false);
}
/* TODO(@ideasman42): use edit-mode data only (remove this line). */
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
const MDeformVert *dvert = NULL;
const MDeformVert *dvert = nullptr;
int defgrp_index = -1;
if (swmd->vgroup_name[0] != '\0') {
MOD_get_vgroup(ctx->object, mesh_src, swmd->vgroup_name, &dvert, &defgrp_index);
@@ -144,8 +142,8 @@ static void deformVertsEM(ModifierData *md,
shrinkwrapModifier_deform(
swmd, ctx, scene, ctx->object, mesh_src, dvert, defgrp_index, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
@@ -158,7 +156,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
mask.lmask |= CD_MASK_NORMAL | CD_MASK_CUSTOMLOOPNORMAL;
}
if (smd->target != NULL) {
if (smd->target != nullptr) {
DEG_add_object_relation(ctx->node, smd->target, DEG_OB_COMP_TRANSFORM, "Shrinkwrap Modifier");
DEG_add_object_relation(ctx->node, smd->target, DEG_OB_COMP_GEOMETRY, "Shrinkwrap Modifier");
DEG_add_customdata_mask(ctx->node, smd->target, &mask);
@@ -166,7 +164,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
DEG_add_special_eval_flag(ctx->node, &smd->target->id, DAG_EVAL_NEED_SHRINKWRAP_BOUNDARY);
}
}
if (smd->auxTarget != NULL) {
if (smd->auxTarget != nullptr) {
DEG_add_object_relation(
ctx->node, smd->auxTarget, DEG_OB_COMP_TRANSFORM, "Shrinkwrap Modifier");
DEG_add_object_relation(
@@ -190,7 +188,7 @@ static bool dependsOnNormals(ModifierData *md)
return false;
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row, *col;
uiLayout *layout = panel->layout;
@@ -203,44 +201,44 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
int wrap_method = RNA_enum_get(ptr, "wrap_method");
uiItemR(layout, ptr, "wrap_method", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "wrap_method", 0, nullptr, ICON_NONE);
if (ELEM(wrap_method,
MOD_SHRINKWRAP_PROJECT,
MOD_SHRINKWRAP_NEAREST_SURFACE,
MOD_SHRINKWRAP_TARGET_PROJECT))
{
uiItemR(layout, ptr, "wrap_mode", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "wrap_mode", 0, nullptr, ICON_NONE);
}
if (wrap_method == MOD_SHRINKWRAP_PROJECT) {
uiItemR(layout, ptr, "project_limit", 0, IFACE_("Limit"), ICON_NONE);
uiItemR(layout, ptr, "subsurf_levels", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "subsurf_levels", 0, nullptr, ICON_NONE);
col = uiLayoutColumn(layout, false);
row = uiLayoutRowWithHeading(col, true, IFACE_("Axis"));
uiItemR(row, ptr, "use_project_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "use_project_x", toggles_flag, nullptr, ICON_NONE);
uiItemR(row, ptr, "use_project_y", toggles_flag, nullptr, ICON_NONE);
uiItemR(row, ptr, "use_project_z", toggles_flag, nullptr, ICON_NONE);
uiItemR(col, ptr, "use_negative_direction", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_positive_direction", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_negative_direction", 0, nullptr, ICON_NONE);
uiItemR(col, ptr, "use_positive_direction", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "cull_face", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "cull_face", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
col = uiLayoutColumn(layout, false);
uiLayoutSetActive(col,
RNA_boolean_get(ptr, "use_negative_direction") &&
RNA_enum_get(ptr, "cull_face") != 0);
uiItemR(col, ptr, "use_invert_cull", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "use_invert_cull", 0, nullptr, ICON_NONE);
}
uiItemR(layout, ptr, "target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "target", 0, nullptr, ICON_NONE);
if (wrap_method == MOD_SHRINKWRAP_PROJECT) {
uiItemR(layout, ptr, "auxiliary_target", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "auxiliary_target", 0, nullptr, ICON_NONE);
}
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
modifier_panel_end(layout, ptr);
}
@@ -264,23 +262,23 @@ ModifierTypeInfo modifierType_Shrinkwrap = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ dependsOnNormals,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -34,8 +34,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#define BEND_EPS 0.000001f
@@ -95,7 +95,7 @@ static void axis_limit(const int axis, const float limits[2], float co[3], float
}
static void simpleDeform_taper(const float factor,
const int UNUSED(axis),
const int /*axis*/,
const float dcut[3],
float r_co[3])
{
@@ -110,7 +110,7 @@ static void simpleDeform_taper(const float factor,
}
static void simpleDeform_stretch(const float factor,
const int UNUSED(axis),
const int /*axis*/,
const float dcut[3],
float r_co[3])
{
@@ -127,7 +127,7 @@ static void simpleDeform_stretch(const float factor,
}
static void simpleDeform_twist(const float factor,
const int UNUSED(axis),
const int /*axis*/,
const float *dcut,
float r_co[3])
{
@@ -204,9 +204,9 @@ static void simpleDeform_bend(const float factor,
static void simple_helper(void *__restrict userdata,
const int iter,
const TaskParallelTLS *__restrict UNUSED(tls))
const TaskParallelTLS *__restrict /*tls*/)
{
const struct DeformUserData *curr_deform_data = userdata;
const DeformUserData *curr_deform_data = static_cast<const DeformUserData *>(userdata);
float weight = BKE_defvert_array_find_weight_safe(
curr_deform_data->dvert, iter, curr_deform_data->vgroup);
const uint *axis_map = axis_map_table[(curr_deform_data->mode != MOD_SIMPLEDEFORM_MODE_BEND) ?
@@ -282,15 +282,15 @@ static void simple_helper(void *__restrict userdata,
/* simple deform modifier */
static void SimpleDeformModifier_do(SimpleDeformModifierData *smd,
const ModifierEvalContext *UNUSED(ctx),
struct Object *ob,
struct Mesh *mesh,
const ModifierEvalContext * /*ctx*/,
Object *ob,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
int i;
float smd_limit[2], smd_factor;
SpaceTransform *transf = NULL, tmp_transf;
SpaceTransform *transf = nullptr, tmp_transf;
int vgroup;
const MDeformVert *dvert;
@@ -316,7 +316,7 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd,
/* Safe-check */
if (smd->origin == ob) {
smd->origin = NULL; /* No self references */
smd->origin = nullptr; /* No self references */
}
if (smd->limit[0] < 0.0f) {
@@ -329,7 +329,7 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd,
smd->limit[0] = min_ff(smd->limit[0], smd->limit[1]); /* Upper limit >= than lower limit */
/* Calculate matrix to convert between coordinate spaces. */
if (smd->origin != NULL) {
if (smd->origin != nullptr) {
transf = &tmp_transf;
BLI_SPACE_TRANSFORM_SETUP(transf, ob, smd->origin);
}
@@ -382,20 +382,20 @@ static void SimpleDeformModifier_do(SimpleDeformModifierData *smd,
const bool invert_vgroup = (smd->flag & MOD_SIMPLEDEFORM_FLAG_INVERT_VGROUP) != 0;
/* Build our data. */
const struct DeformUserData deform_pool_data = {
.mode = smd->mode,
.smd_factor = smd_factor,
.deform_axis = deform_axis,
.transf = transf,
.vertexCos = vertexCos,
.invert_vgroup = invert_vgroup,
.lock_axis = lock_axis,
.vgroup = vgroup,
.smd_limit[0] = smd_limit[0],
.smd_limit[1] = smd_limit[1],
.dvert = dvert,
.limit_axis = limit_axis,
};
DeformUserData deform_pool_data{};
deform_pool_data.mode = smd->mode;
deform_pool_data.smd_factor = smd_factor;
deform_pool_data.deform_axis = deform_axis;
deform_pool_data.transf = transf;
deform_pool_data.vertexCos = vertexCos;
deform_pool_data.invert_vgroup = invert_vgroup;
deform_pool_data.lock_axis = lock_axis;
deform_pool_data.vgroup = vgroup;
deform_pool_data.smd_limit[0] = smd_limit[0];
deform_pool_data.smd_limit[1] = smd_limit[1];
deform_pool_data.dvert = dvert;
deform_pool_data.limit_axis = limit_axis;
/* Do deformation. */
TaskParallelSettings settings;
BLI_parallel_range_settings_defaults(&settings);
@@ -431,7 +431,7 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
SimpleDeformModifierData *smd = (SimpleDeformModifierData *)md;
if (smd->origin != NULL) {
if (smd->origin != nullptr) {
DEG_add_object_relation(
ctx->node, smd->origin, DEG_OB_COMP_TRANSFORM, "SimpleDeform Modifier");
DEG_add_depends_on_transform_relation(ctx->node, "SimpleDeform Modifier");
@@ -440,53 +440,53 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
static void deformVerts(ModifierData *md,
const ModifierEvalContext *ctx,
struct Mesh *mesh,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
SimpleDeformModifierData *sdmd = (SimpleDeformModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && sdmd->vgroup_name[0] != '\0') {
/* mesh_src is only needed for vgroups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
SimpleDeformModifier_do(sdmd, ctx, ctx->object, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *editData,
struct Mesh *mesh,
BMEditMesh *editData,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
SimpleDeformModifierData *sdmd = (SimpleDeformModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (ctx->object->type == OB_MESH && sdmd->vgroup_name[0] != '\0') {
/* mesh_src is only needed for vgroups. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, editData, mesh, nullptr, verts_num, false);
}
/* TODO(@ideasman42): use edit-mode data only (remove this line). */
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
SimpleDeformModifier_do(sdmd, ctx, ctx->object, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
@@ -497,24 +497,24 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
int deform_method = RNA_enum_get(ptr, "deform_method");
row = uiLayoutRow(layout, false);
uiItemR(row, ptr, "deform_method", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(row, ptr, "deform_method", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
uiLayoutSetPropSep(layout, true);
if (ELEM(deform_method, MOD_SIMPLEDEFORM_MODE_TAPER, MOD_SIMPLEDEFORM_MODE_STRETCH)) {
uiItemR(layout, ptr, "factor", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "factor", 0, nullptr, ICON_NONE);
}
else {
uiItemR(layout, ptr, "angle", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "angle", 0, nullptr, ICON_NONE);
}
uiItemR(layout, ptr, "origin", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "deform_axis", UI_ITEM_R_EXPAND, NULL, ICON_NONE);
uiItemR(layout, ptr, "origin", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "deform_axis", UI_ITEM_R_EXPAND, nullptr, ICON_NONE);
modifier_panel_end(layout, ptr);
}
static void restrictions_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void restrictions_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
@@ -527,7 +527,7 @@ static void restrictions_panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "limits", UI_ITEM_R_SLIDER, NULL, ICON_NONE);
uiItemR(layout, ptr, "limits", UI_ITEM_R_SLIDER, nullptr, ICON_NONE);
if (ELEM(deform_method,
MOD_SIMPLEDEFORM_MODE_TAPER,
@@ -538,17 +538,17 @@ static void restrictions_panel_draw(const bContext *UNUSED(C), Panel *panel)
row = uiLayoutRowWithHeading(layout, true, IFACE_("Lock"));
if (deform_axis != 0) {
uiItemR(row, ptr, "lock_x", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_x", toggles_flag, nullptr, ICON_NONE);
}
if (deform_axis != 1) {
uiItemR(row, ptr, "lock_y", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_y", toggles_flag, nullptr, ICON_NONE);
}
if (deform_axis != 2) {
uiItemR(row, ptr, "lock_z", toggles_flag, NULL, ICON_NONE);
uiItemR(row, ptr, "lock_z", toggles_flag, nullptr, ICON_NONE);
}
}
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
}
static void panelRegister(ARegionType *region_type)
@@ -556,7 +556,7 @@ static void panelRegister(ARegionType *region_type)
PanelType *panel_type = modifier_panel_register(
region_type, eModifierType_SimpleDeform, panel_draw);
modifier_subpanel_register(
region_type, "restrictions", "Restrictions", NULL, restrictions_panel_draw, panel_type);
region_type, "restrictions", "Restrictions", nullptr, restrictions_panel_draw, panel_type);
}
ModifierTypeInfo modifierType_SimpleDeform = {
@@ -574,23 +574,23 @@ ModifierTypeInfo modifierType_SimpleDeform = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ NULL,
/*dependsOnNormals*/ NULL,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -72,8 +72,8 @@
#include "WM_types.h" /* For skin mark clear operator UI. */
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "bmesh.h"

View File

@@ -34,9 +34,9 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{

View File

@@ -5,7 +5,7 @@
* \ingroup modifiers
*/
#include <stdio.h>
#include <cstdio>
#include "BLI_utildefines.h"
@@ -33,12 +33,12 @@
#include "DEG_depsgraph_physics.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static void deformVerts(ModifierData *UNUSED(md),
static void deformVerts(ModifierData * /*md*/,
const ModifierEvalContext *ctx,
Mesh *UNUSED(derivedData),
Mesh * /*mesh*/,
float (*vertexCos)[3],
int verts_num)
{
@@ -47,12 +47,12 @@ static void deformVerts(ModifierData *UNUSED(md),
ctx->depsgraph, scene, ctx->object, DEG_get_ctime(ctx->depsgraph), vertexCos, verts_num);
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime( Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgraphContext *ctx)
static void updateDepsgraph(ModifierData * /*md*/, const ModifierUpdateDepsgraphContext *ctx)
{
if (ctx->object->soft) {
/* Actual code uses ccd_build_deflector_hash */
@@ -60,7 +60,7 @@ static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgr
ctx->object,
ctx->object->soft->collision_group,
eModifierType_Collision,
NULL,
nullptr,
"Softbody Collision");
DEG_add_forcefield_relations(
ctx->node, ctx->object, ctx->object->soft->effector_weights, true, 0, "Softbody Field");
@@ -69,11 +69,11 @@ static void updateDepsgraph(ModifierData *UNUSED(md), const ModifierUpdateDepsgr
DEG_add_depends_on_transform_relation(ctx->node, "SoftBody Modifier");
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -96,26 +96,26 @@ ModifierTypeInfo modifierType_Softbody = {
eModifierTypeFlag_UsesPointCache,
/*icon*/ ICON_MOD_SOFT,
/*copyData*/ NULL,
/*copyData*/ nullptr,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ NULL,
/*requiredDataMask*/ NULL,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*initData*/ nullptr,
/*requiredDataMask*/ nullptr,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};

View File

@@ -26,8 +26,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_solidify_util.hh"

View File

@@ -20,9 +20,9 @@
#include "BKE_mesh.hh"
#include "BKE_particle.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
#include "MOD_solidify_util.hh" /* own include */
#include "MOD_util.h"
#include "MOD_util.hh"
/* -------------------------------------------------------------------- */
/** \name High Quality Normal Calculation Function

View File

@@ -18,9 +18,9 @@
#include "BKE_mesh.hh"
#include "BKE_particle.h"
#include "MOD_modifiertypes.h"
#include "MOD_modifiertypes.hh"
#include "MOD_solidify_util.hh" /* Own include. */
#include "MOD_util.h"
#include "MOD_util.hh"
/* -------------------------------------------------------------------- */
/** \name Local Utilities

View File

@@ -45,8 +45,8 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "BLO_read_write.h"

View File

@@ -33,9 +33,9 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "BLO_read_write.h"
@@ -70,8 +70,8 @@ static void freeData(ModifierData *md)
}
if (surmd->runtime.mesh) {
BKE_id_free(NULL, surmd->runtime.mesh);
surmd->runtime.mesh = NULL;
BKE_id_free(nullptr, surmd->runtime.mesh);
surmd->runtime.mesh = nullptr;
}
MEM_SAFE_FREE(surmd->runtime.vert_positions_prev);
@@ -80,7 +80,7 @@ static void freeData(ModifierData *md)
}
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *UNUSED(md))
static bool dependsOnTime(Scene * /*scene*/, ModifierData * /*md*/)
{
return true;
}
@@ -92,7 +92,7 @@ static void deformVerts(ModifierData *md,
int verts_num)
{
SurfaceModifierData *surmd = (SurfaceModifierData *)md;
const int cfra = (int)DEG_get_ctime(ctx->depsgraph);
const int cfra = int(DEG_get_ctime(ctx->depsgraph));
/* Free mesh and BVH cache. */
if (surmd->runtime.bvhtree) {
@@ -101,18 +101,19 @@ static void deformVerts(ModifierData *md,
}
if (surmd->runtime.mesh) {
BKE_id_free(NULL, surmd->runtime.mesh);
surmd->runtime.mesh = NULL;
BKE_id_free(nullptr, surmd->runtime.mesh);
surmd->runtime.mesh = nullptr;
}
if (mesh) {
/* Not possible to use get_mesh() in this case as we'll modify its vertices
* and get_mesh() would return 'mesh' directly. */
surmd->runtime.mesh = (Mesh *)BKE_id_copy_ex(NULL, (ID *)mesh, NULL, LIB_ID_COPY_LOCALIZE);
surmd->runtime.mesh = (Mesh *)BKE_id_copy_ex(
nullptr, (ID *)mesh, nullptr, LIB_ID_COPY_LOCALIZE);
}
else {
surmd->runtime.mesh = MOD_deform_mesh_eval_get(
ctx->object, NULL, NULL, NULL, verts_num, false);
ctx->object, nullptr, nullptr, nullptr, verts_num, false);
}
if (!ctx->object->pd) {
@@ -129,17 +130,17 @@ static void deformVerts(ModifierData *md,
mesh_verts_num = surmd->runtime.mesh->totvert;
if ((mesh_verts_num != surmd->runtime.verts_num) ||
(surmd->runtime.vert_positions_prev == NULL) || (surmd->runtime.vert_velocities == NULL) ||
(cfra != surmd->runtime.cfra_prev + 1))
(surmd->runtime.vert_positions_prev == nullptr) ||
(surmd->runtime.vert_velocities == nullptr) || (cfra != surmd->runtime.cfra_prev + 1))
{
MEM_SAFE_FREE(surmd->runtime.vert_positions_prev);
MEM_SAFE_FREE(surmd->runtime.vert_velocities);
surmd->runtime.vert_positions_prev = MEM_calloc_arrayN(
mesh_verts_num, sizeof(float[3]), __func__);
surmd->runtime.vert_velocities = MEM_calloc_arrayN(
mesh_verts_num, sizeof(float[3]), __func__);
surmd->runtime.vert_positions_prev = static_cast<float(*)[3]>(
MEM_calloc_arrayN(mesh_verts_num, sizeof(float[3]), __func__));
surmd->runtime.vert_velocities = static_cast<float(*)[3]>(
MEM_calloc_arrayN(mesh_verts_num, sizeof(float[3]), __func__));
surmd->runtime.verts_num = mesh_verts_num;
@@ -167,7 +168,8 @@ static void deformVerts(ModifierData *md,
const bool has_poly = surmd->runtime.mesh->totpoly > 0;
const bool has_edge = surmd->runtime.mesh->totedge > 0;
if (has_poly || has_edge) {
surmd->runtime.bvhtree = MEM_callocN(sizeof(BVHTreeFromMesh), "BVHTreeFromMesh");
surmd->runtime.bvhtree = static_cast<BVHTreeFromMesh *>(
MEM_callocN(sizeof(BVHTreeFromMesh), __func__));
if (has_poly) {
BKE_bvhtree_from_mesh_get(
@@ -181,11 +183,11 @@ static void deformVerts(ModifierData *md,
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
uiItemL(layout, TIP_("Settings are inside the Physics tab"), ICON_NONE);
@@ -197,7 +199,7 @@ static void panelRegister(ARegionType *region_type)
modifier_panel_register(region_type, eModifierType_Surface, panel_draw);
}
static void blendRead(BlendDataReader *UNUSED(reader), ModifierData *md)
static void blendRead(BlendDataReader * /*reader*/, ModifierData *md)
{
SurfaceModifierData *surmd = (SurfaceModifierData *)md;
@@ -217,23 +219,23 @@ ModifierTypeInfo modifierType_Surface = {
/*copyData*/ copyData,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ NULL,
/*requiredDataMask*/ nullptr,
/*freeData*/ freeData,
/*isDisabled*/ NULL,
/*updateDepsgraph*/ NULL,
/*isDisabled*/ nullptr,
/*updateDepsgraph*/ nullptr,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ blendRead,
};

View File

@@ -43,8 +43,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
struct SDefAdjacency {
SDefAdjacency *next;

View File

@@ -32,8 +32,8 @@
#include "bmesh.h"
#include "bmesh_tools.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
static Mesh *triangulate_mesh(Mesh *mesh,
const int quad_method,

View File

@@ -33,18 +33,18 @@
#include "WM_api.h"
#include "WM_types.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h" /* Self include */
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh" /* Self include */
/**
* Poll function so these modifier panels don't show for other object types with modifiers (only
* grease pencil currently).
*/
static bool modifier_ui_poll(const bContext *C, PanelType *UNUSED(pt))
static bool modifier_ui_poll(const bContext *C, PanelType * /*pt*/)
{
Object *ob = ED_object_active_context(C);
return (ob != NULL) && (ob->type != OB_GPENCIL_LEGACY);
return (ob != nullptr) && (ob->type != OB_GPENCIL_LEGACY);
}
/* -------------------------------------------------------------------- */
@@ -64,18 +64,18 @@ static void modifier_reorder(bContext *C, Panel *panel, int new_index)
WM_operator_properties_create_ptr(&props_ptr, ot);
RNA_string_set(&props_ptr, "modifier", md->name);
RNA_int_set(&props_ptr, "index", new_index);
WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, &props_ptr, NULL);
WM_operator_name_call_ptr(C, ot, WM_OP_INVOKE_DEFAULT, &props_ptr, nullptr);
WM_operator_properties_free(&props_ptr);
}
static short get_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel)
static short get_modifier_expand_flag(const bContext * /*C*/, Panel *panel)
{
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)md_ptr->data;
return md->ui_expand_flag;
}
static void set_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel, short expand_flag)
static void set_modifier_expand_flag(const bContext * /*C*/, Panel *panel, short expand_flag)
{
PointerRNA *md_ptr = UI_panel_custom_data_get(panel);
ModifierData *md = (ModifierData *)md_ptr->data;
@@ -90,7 +90,7 @@ static void set_modifier_expand_flag(const bContext *UNUSED(C), Panel *panel, sh
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr)
{
ModifierData *md = ptr->data;
ModifierData *md = static_cast<ModifierData *>(ptr->data);
if (md->error) {
uiLayout *row = uiLayoutRow(layout, false);
uiItemL(row, TIP_(md->error), ICON_ERROR);
@@ -110,7 +110,7 @@ PointerRNA *modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_
BLI_assert(!RNA_pointer_is_null(ptr));
BLI_assert(RNA_struct_is_a(ptr->type, &RNA_Modifier));
if (r_ob_ptr != NULL) {
if (r_ob_ptr != nullptr) {
RNA_pointer_create(ptr->owner_id, &RNA_Object, ptr->owner_id, r_ob_ptr);
}
@@ -133,7 +133,7 @@ void modifier_vgroup_ui(uiLayout *layout,
uiLayout *row = uiLayoutRow(layout, true);
uiItemPointerR(row, ptr, vgroup_prop, ob_ptr, "vertex_groups", text, ICON_NONE);
if (invert_vgroup_prop != NULL) {
if (invert_vgroup_prop != nullptr) {
uiLayout *sub = uiLayoutRow(row, true);
uiLayoutSetActive(sub, has_vertex_group);
uiLayoutSetPropDecorate(sub, false);
@@ -254,7 +254,7 @@ static void modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v)
"OBJECT_OT_modifier_move_to_index",
IFACE_("Move to First"),
ICON_TRIA_UP,
NULL,
nullptr,
WM_OP_INVOKE_DEFAULT,
0,
&op_ptr);
@@ -269,7 +269,7 @@ static void modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v)
"OBJECT_OT_modifier_move_to_index",
IFACE_("Move to Last"),
ICON_TRIA_DOWN,
NULL,
nullptr,
WM_OP_INVOKE_DEFAULT,
0,
&op_ptr);
@@ -281,9 +281,9 @@ static void modifier_ops_extra_draw(bContext *C, uiLayout *layout, void *md_v)
if (md->type == eModifierType_Nodes) {
uiItemFullO(layout,
"OBJECT_OT_geometry_nodes_move_to_nodes",
NULL,
nullptr,
ICON_NONE,
NULL,
nullptr,
WM_OP_INVOKE_DEFAULT,
0,
&op_ptr);
@@ -302,7 +302,7 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
UI_panel_context_pointer_set(panel, "modifier", ptr);
const ModifierTypeInfo *mti = BKE_modifier_get_info(md->type);
const ModifierTypeInfo *mti = BKE_modifier_get_info(ModifierType(md->type));
Scene *scene = CTX_data_scene(C);
int index = BLI_findindex(&ob->modifiers, md);
@@ -453,7 +453,7 @@ static void modifier_panel_header(const bContext *C, Panel *panel)
PanelType *modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw)
{
PanelType *panel_type = MEM_callocN(sizeof(PanelType), __func__);
PanelType *panel_type = MEM_cnew<PanelType>(__func__);
BKE_modifier_type_panel_id(type, panel_type->idname);
BLI_strncpy(panel_type->label, "", BKE_ST_MAXNAME);
@@ -484,7 +484,7 @@ PanelType *modifier_subpanel_register(ARegionType *region_type,
PanelDrawFn draw,
PanelType *parent)
{
PanelType *panel_type = MEM_callocN(sizeof(PanelType), __func__);
PanelType *panel_type = MEM_cnew<PanelType>(__func__);
BLI_snprintf(panel_type->idname, BKE_ST_MAXNAME, "%s_%s", parent->idname, name);
BLI_strncpy(panel_type->label, label, BKE_ST_MAXNAME);
@@ -497,7 +497,7 @@ PanelType *modifier_subpanel_register(ARegionType *region_type,
panel_type->poll = modifier_ui_poll;
panel_type->flag = PANEL_TYPE_DEFAULT_CLOSED;
BLI_assert(parent != NULL);
BLI_assert(parent != nullptr);
BLI_strncpy(panel_type->parent_id, parent->idname, BKE_ST_MAXNAME);
panel_type->parent = parent;
BLI_addtail(&parent->children, BLI_genericNodeN(panel_type));

View File

@@ -1,66 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup modifiers
*/
#pragma once
/* so modifier types match their defines */
#include "MOD_modifiertypes.h"
#include "DEG_depsgraph_build.h"
#ifdef __cplusplus
extern "C" {
#endif
struct ARegionType;
struct PanelType;
struct bContext;
struct uiLayout;
typedef void (*PanelDrawFn)(const bContext *, struct Panel *);
void modifier_panel_buttons(const struct bContext *C, struct Panel *panel);
/**
* Helper function for modifier layouts to draw vertex group settings.
*/
void modifier_vgroup_ui(struct uiLayout *layout,
struct PointerRNA *ptr,
struct PointerRNA *ob_ptr,
const char *vgroup_prop,
const char *invert_vgroup_prop,
const char *text);
/**
* Draw modifier error message.
*/
void modifier_panel_end(struct uiLayout *layout, PointerRNA *ptr);
struct PointerRNA *modifier_panel_get_property_pointers(struct Panel *panel,
struct PointerRNA *r_ob_ptr);
/**
* Create a panel in the context's region
*/
struct PanelType *modifier_panel_register(struct ARegionType *region_type,
ModifierType type,
PanelDrawFn draw);
/**
* Add a child panel to the parent.
*
* \note To create the panel type's #PanelType.idname,
* it appends the \a name argument to the \a parent's `idname`.
*/
struct PanelType *modifier_subpanel_register(struct ARegionType *region_type,
const char *name,
const char *label,
PanelDrawFn draw_header,
PanelDrawFn draw,
struct PanelType *parent);
#ifdef __cplusplus
}
#endif

View File

@@ -0,0 +1,56 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup modifiers
*/
#pragma once
/* so modifier types match their defines */
#include "MOD_modifiertypes.hh"
#include "DEG_depsgraph_build.h"
struct ARegionType;
struct Panel;
struct PanelType;
struct PointerRNA;
struct bContext;
struct uiLayout;
using PanelDrawFn = void (*)(const bContext *, Panel *);
/**
* Helper function for modifier layouts to draw vertex group settings.
*/
void modifier_vgroup_ui(uiLayout *layout,
PointerRNA *ptr,
PointerRNA *ob_ptr,
const char *vgroup_prop,
const char *invert_vgroup_prop,
const char *text);
/**
* Draw modifier error message.
*/
void modifier_panel_end(uiLayout *layout, PointerRNA *ptr);
PointerRNA *modifier_panel_get_property_pointers(Panel *panel, PointerRNA *r_ob_ptr);
/**
* Create a panel in the context's region
*/
PanelType *modifier_panel_register(ARegionType *region_type, ModifierType type, PanelDrawFn draw);
/**
* Add a child panel to the parent.
*
* \note To create the panel type's #PanelType.idname,
* it appends the \a name argument to the \a parent's `idname`.
*/
PanelType *modifier_subpanel_register(ARegionType *region_type,
const char *name,
const char *label,
PanelDrawFn draw_header,
PanelDrawFn draw,
PanelType *parent);

View File

@@ -35,8 +35,8 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
#include "MOD_modifiertypes.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_util.hh"
#include "MEM_guardedalloc.h"

View File

@@ -1,60 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup modifiers
*/
#pragma once
/* so modifier types match their defines */
#include "MOD_modifiertypes.h"
#include "DEG_depsgraph_build.h"
#ifdef __cplusplus
extern "C" {
#endif
struct MDeformVert;
struct Mesh;
struct ModifierData;
struct ModifierEvalContext;
struct Object;
void MOD_init_texture(struct MappingInfoModifierData *dmd, const struct ModifierEvalContext *ctx);
/**
* \param cos: may be NULL, in which case we use directly mesh vertices' coordinates.
*/
void MOD_get_texture_coords(struct MappingInfoModifierData *dmd,
const struct ModifierEvalContext *ctx,
struct Object *ob,
struct Mesh *mesh,
float (*cos)[3],
float (*r_texco)[3]);
void MOD_previous_vcos_store(struct ModifierData *md, const float (*vert_coords)[3]);
/**
* \returns a mesh if mesh == NULL, for deforming modifiers that need it.
*/
struct Mesh *MOD_deform_mesh_eval_get(struct Object *ob,
struct BMEditMesh *em,
struct Mesh *mesh,
const float (*vertexCos)[3],
int verts_num,
bool use_orco);
void MOD_get_vgroup(struct Object *ob,
struct Mesh *mesh,
const char *name,
const struct MDeformVert **dvert,
int *defgrp_index);
void MOD_depsgraph_update_object_bone_relation(struct DepsNodeHandle *node,
struct Object *object,
const char *bonename,
const char *description);
#ifdef __cplusplus
}
#endif

View File

@@ -0,0 +1,49 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/** \file
* \ingroup modifiers
*/
#pragma once
/* so modifier types match their defines */
#include "MOD_modifiertypes.hh"
#include "DEG_depsgraph_build.h"
struct MDeformVert;
struct Mesh;
struct ModifierData;
struct ModifierEvalContext;
struct Object;
void MOD_init_texture(MappingInfoModifierData *dmd, const ModifierEvalContext *ctx);
/**
* \param cos: may be null, in which case we use directly mesh vertices' coordinates.
*/
void MOD_get_texture_coords(MappingInfoModifierData *dmd,
const ModifierEvalContext *ctx,
Object *ob,
Mesh *mesh,
float (*cos)[3],
float (*r_texco)[3]);
void MOD_previous_vcos_store(ModifierData *md, const float (*vert_coords)[3]);
/**
* \returns a mesh if mesh == null, for deforming modifiers that need it.
*/
Mesh *MOD_deform_mesh_eval_get(Object *ob,
BMEditMesh *em,
Mesh *mesh,
const float (*vertexCos)[3],
int verts_num,
bool use_orco);
void MOD_get_vgroup(
Object *ob, Mesh *mesh, const char *name, const MDeformVert **dvert, int *defgrp_index);
void MOD_depsgraph_update_object_bone_relation(DepsNodeHandle *node,
Object *object,
const char *bonename,
const char *description);

View File

@@ -34,8 +34,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MEM_guardedalloc.h"

View File

@@ -35,8 +35,8 @@
#include "DEG_depsgraph_query.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void uv_warp_from_mat4_pair(float uv_dst[2],
const float uv_src[2],

View File

@@ -31,8 +31,8 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "RE_texture.h"

View File

@@ -14,8 +14,8 @@
#include "BLT_translation.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"

View File

@@ -4,7 +4,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "MEM_guardedalloc.h"
@@ -46,8 +46,8 @@
#include "RE_texture.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
static void initData(ModifierData *md)
{
@@ -101,7 +101,7 @@ static void matrix_from_obj_pchan(float mat[4][4],
}
}
static bool dependsOnTime(struct Scene *UNUSED(scene), ModifierData *md)
static bool dependsOnTime(Scene * /*scene*/, ModifierData *md)
{
WarpModifierData *wmd = (WarpModifierData *)md;
@@ -118,9 +118,7 @@ static void freeData(ModifierData *md)
BKE_curvemapping_free(wmd->curfalloff);
}
static bool isDisabled(const struct Scene *UNUSED(scene),
ModifierData *md,
bool UNUSED(userRenderParams))
static bool isDisabled(const Scene * /*scene*/, ModifierData *md, bool /*useRenderParams*/)
{
WarpModifierData *wmd = (WarpModifierData *)md;
@@ -147,7 +145,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
WarpModifierData *wmd = (WarpModifierData *)md;
bool need_transform_relation = false;
if (wmd->object_from != NULL && wmd->object_to != NULL) {
if (wmd->object_from != nullptr && wmd->object_to != nullptr) {
MOD_depsgraph_update_object_bone_relation(
ctx->node, wmd->object_from, wmd->bone_from, "Warp Modifier");
MOD_depsgraph_update_object_bone_relation(
@@ -155,10 +153,10 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
need_transform_relation = true;
}
if (wmd->texture != NULL) {
if (wmd->texture != nullptr) {
DEG_add_generic_id_relation(ctx->node, &wmd->texture->id, "Warp Modifier");
if ((wmd->texmapping == MOD_DISP_MAP_OBJECT) && wmd->map_object != NULL) {
if ((wmd->texmapping == MOD_DISP_MAP_OBJECT) && wmd->map_object != nullptr) {
MOD_depsgraph_update_object_bone_relation(
ctx->node, wmd->map_object, wmd->map_bone, "Warp Modifier");
need_transform_relation = true;
@@ -194,20 +192,20 @@ static void warpModifier_do(WarpModifierData *wmd,
float fac = 1.0f, weight;
int i;
int defgrp_index;
const MDeformVert *dvert, *dv = NULL;
const MDeformVert *dvert, *dv = nullptr;
const bool invert_vgroup = (wmd->flag & MOD_WARP_INVERT_VGROUP) != 0;
float(*tex_co)[3] = NULL;
float(*tex_co)[3] = nullptr;
if (!(wmd->object_from && wmd->object_to)) {
return;
}
MOD_get_vgroup(ob, mesh, wmd->defgrp_name, &dvert, &defgrp_index);
if (dvert == NULL) {
if (dvert == nullptr) {
defgrp_index = -1;
}
if (wmd->curfalloff == NULL) { /* should never happen, but bad lib linking could cause it */
if (wmd->curfalloff == nullptr) { /* should never happen, but bad lib linking could cause it */
wmd->curfalloff = BKE_curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -240,8 +238,8 @@ static void warpModifier_do(WarpModifierData *wmd,
weight = strength;
Tex *tex_target = wmd->texture;
if (mesh != NULL && tex_target != NULL) {
tex_co = MEM_malloc_arrayN(verts_num, sizeof(*tex_co), "warpModifier_do tex_co");
if (mesh != nullptr && tex_target != nullptr) {
tex_co = static_cast<float(*)[3]>(MEM_malloc_arrayN(verts_num, sizeof(*tex_co), __func__));
MOD_get_texture_coords((MappingInfoModifierData *)wmd, ctx, ob, mesh, vertexCos, tex_co);
MOD_init_texture((MappingInfoModifierData *)wmd, ctx);
@@ -299,7 +297,7 @@ static void warpModifier_do(WarpModifierData *wmd,
fac *= weight;
if (tex_co) {
struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
TexResult texres;
BKE_texture_get_value(scene, tex_target, tex_co[i], &texres, false);
fac *= texres.tin;
@@ -343,48 +341,48 @@ static void deformVerts(ModifierData *md,
int verts_num)
{
WarpModifierData *wmd = (WarpModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (wmd->defgrp_name[0] != '\0' || wmd->texture != NULL) {
if (wmd->defgrp_name[0] != '\0' || wmd->texture != nullptr) {
/* mesh_src is only needed for vgroups and textures. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, NULL, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, nullptr, mesh, nullptr, verts_num, false);
}
warpModifier_do(wmd, ctx, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void deformVertsEM(ModifierData *md,
const ModifierEvalContext *ctx,
struct BMEditMesh *em,
BMEditMesh *em,
Mesh *mesh,
float (*vertexCos)[3],
int verts_num)
{
WarpModifierData *wmd = (WarpModifierData *)md;
Mesh *mesh_src = NULL;
Mesh *mesh_src = nullptr;
if (wmd->defgrp_name[0] != '\0' || wmd->texture != NULL) {
if (wmd->defgrp_name[0] != '\0' || wmd->texture != nullptr) {
/* mesh_src is only needed for vgroups and textures. */
mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, verts_num, false);
mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, nullptr, verts_num, false);
}
/* TODO(@ideasman42): use edit-mode data only (remove this line). */
if (mesh_src != NULL) {
if (mesh_src != nullptr) {
BKE_mesh_wrapper_ensure_mdata(mesh_src);
}
warpModifier_do(wmd, ctx, mesh_src, vertexCos, verts_num);
if (!ELEM(mesh_src, NULL, mesh)) {
BKE_id_free(NULL, mesh_src);
if (!ELEM(mesh_src, nullptr, mesh)) {
BKE_id_free(nullptr, mesh_src);
}
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col;
uiLayout *layout = panel->layout;
@@ -395,7 +393,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
col = uiLayoutColumn(layout, true);
uiItemR(col, ptr, "object_from", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object_from", 0, nullptr, ICON_NONE);
PointerRNA from_obj_ptr = RNA_pointer_get(ptr, "object_from");
if (!RNA_pointer_is_null(&from_obj_ptr) && RNA_enum_get(&from_obj_ptr, "type") == OB_ARMATURE) {
@@ -404,36 +402,36 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
}
col = uiLayoutColumn(layout, true);
uiItemR(col, ptr, "object_to", 0, NULL, ICON_NONE);
uiItemR(col, ptr, "object_to", 0, nullptr, ICON_NONE);
PointerRNA to_obj_ptr = RNA_pointer_get(ptr, "object_to");
if (!RNA_pointer_is_null(&to_obj_ptr) && RNA_enum_get(&to_obj_ptr, "type") == OB_ARMATURE) {
PointerRNA to_obj_data_ptr = RNA_pointer_get(&to_obj_ptr, "data");
uiItemPointerR(col, ptr, "bone_to", &to_obj_data_ptr, "bones", IFACE_("Bone"), ICON_NONE);
}
uiItemR(layout, ptr, "use_volume_preserve", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "use_volume_preserve", 0, nullptr, ICON_NONE);
uiItemR(layout, ptr, "strength", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "strength", 0, nullptr, ICON_NONE);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
modifier_panel_end(layout, ptr);
}
static void falloff_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void falloff_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *layout = panel->layout;
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, NULL);
PointerRNA *ptr = modifier_panel_get_property_pointers(panel, nullptr);
bool use_falloff = (RNA_enum_get(ptr, "falloff_type") != eWarp_Falloff_None);
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "falloff_type", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "falloff_type", 0, nullptr, ICON_NONE);
if (use_falloff) {
uiItemR(layout, ptr, "falloff_radius", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "falloff_radius", 0, nullptr, ICON_NONE);
}
if (use_falloff && RNA_enum_get(ptr, "falloff_type") == eWarp_Falloff_Curve) {
@@ -451,7 +449,7 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
int texture_coords = RNA_enum_get(ptr, "texture_coords");
uiTemplateID(layout, C, ptr, "texture", "texture.new", NULL, NULL, 0, ICON_NONE, NULL);
uiTemplateID(layout, C, ptr, "texture", "texture.new", nullptr, nullptr, 0, ICON_NONE, nullptr);
uiLayoutSetPropSep(layout, true);
@@ -475,7 +473,7 @@ static void texture_panel_draw(const bContext *C, Panel *panel)
}
else if (texture_coords == MOD_DISP_MAP_UV && RNA_enum_get(&ob_ptr, "type") == OB_MESH) {
PointerRNA obj_data_ptr = RNA_pointer_get(&ob_ptr, "data");
uiItemPointerR(col, ptr, "uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
uiItemPointerR(col, ptr, "uv_layer", &obj_data_ptr, "uv_layers", nullptr, ICON_NONE);
}
}
@@ -483,12 +481,12 @@ static void panelRegister(ARegionType *region_type)
{
PanelType *panel_type = modifier_panel_register(region_type, eModifierType_Warp, panel_draw);
modifier_subpanel_register(
region_type, "falloff", "Falloff", NULL, falloff_panel_draw, panel_type);
region_type, "falloff", "Falloff", nullptr, falloff_panel_draw, panel_type);
modifier_subpanel_register(
region_type, "texture", "Texture", NULL, texture_panel_draw, panel_type);
region_type, "texture", "Texture", nullptr, texture_panel_draw, panel_type);
}
static void blendWrite(BlendWriter *writer, const ID *UNUSED(id_owner), const ModifierData *md)
static void blendWrite(BlendWriter *writer, const ID * /*id_owner*/, const ModifierData *md)
{
const WarpModifierData *wmd = (const WarpModifierData *)md;
@@ -521,11 +519,11 @@ ModifierTypeInfo modifierType_Warp = {
/*copyData*/ copyData,
/*deformVerts*/ deformVerts,
/*deformMatrices*/ NULL,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ deformVertsEM,
/*deformMatricesEM*/ NULL,
/*modifyMesh*/ NULL,
/*modifyGeometrySet*/ NULL,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ nullptr,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
@@ -533,10 +531,10 @@ ModifierTypeInfo modifierType_Warp = {
/*isDisabled*/ isDisabled,
/*updateDepsgraph*/ updateDepsgraph,
/*dependsOnTime*/ dependsOnTime,
/*dependsOnNormals*/ NULL,
/*dependsOnNormals*/ nullptr,
/*foreachIDLink*/ foreachIDLink,
/*foreachTexLink*/ foreachTexLink,
/*freeRuntimeData*/ NULL,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ blendWrite,
/*blendRead*/ blendRead,

View File

@@ -40,9 +40,9 @@
#include "RE_texture.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"

View File

@@ -33,9 +33,9 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "bmesh.h"

View File

@@ -36,9 +36,9 @@
#include "DEG_depsgraph_query.h"
#include "MEM_guardedalloc.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_weightvg_util.h"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "MOD_weightvg_util.hh"
#include "RE_texture.h" /* Texture masking. */
void weightvg_do_map(
@@ -49,7 +49,7 @@ void weightvg_do_map(
/* Return immediately, if we have nothing to do! */
/* Also security checks... */
if (!do_invert &&
(((falloff_type == MOD_WVG_MAPPING_CURVE) && (cmap == NULL)) || !ELEM(falloff_type,
(((falloff_type == MOD_WVG_MAPPING_CURVE) && (cmap == nullptr)) || !ELEM(falloff_type,
MOD_WVG_MAPPING_CURVE,
MOD_WVG_MAPPING_SHARP,
MOD_WVG_MAPPING_SMOOTH,
@@ -131,7 +131,7 @@ void weightvg_do_mask(const ModifierEvalContext *ctx,
}
/* If we want to mask vgroup weights from a texture. */
if (texture != NULL) {
if (texture != nullptr) {
/* The texture coordinates. */
float(*tex_co)[3];
/* See mapping note below... */
@@ -149,8 +149,8 @@ void weightvg_do_mask(const ModifierEvalContext *ctx,
BLI_strncpy(t_map.uvlayer_name, tex_uvlayer_name, sizeof(t_map.uvlayer_name));
t_map.texmapping = tex_mapping;
tex_co = MEM_calloc_arrayN(verts_num, sizeof(*tex_co), "WeightVG Modifier, TEX mode, tex_co");
MOD_get_texture_coords(&t_map, ctx, ob, mesh, NULL, tex_co);
tex_co = static_cast<float(*)[3]>(MEM_calloc_arrayN(verts_num, sizeof(*tex_co), __func__));
MOD_get_texture_coords(&t_map, ctx, ob, mesh, nullptr, tex_co);
MOD_init_texture(&t_map, ctx);
@@ -213,9 +213,10 @@ void weightvg_do_mask(const ModifierEvalContext *ctx,
/* Proceed only if vgroup is valid, else use constant factor. */
/* Get actual dverts (ie vertex group data). */
const MDeformVert *dvert = CustomData_get_layer(&mesh->vdata, CD_MDEFORMVERT);
const MDeformVert *dvert = static_cast<const MDeformVert *>(
CustomData_get_layer(&mesh->vdata, CD_MDEFORMVERT));
/* Proceed only if vgroup is valid, else assume factor = O. */
if (dvert == NULL) {
if (dvert == nullptr) {
return;
}
@@ -283,7 +284,7 @@ void weightvg_update_vg(MDeformVert *dvert,
float w = weights[i];
MDeformVert *dv = &dvert[indices ? indices[i] : i];
MDeformWeight *dw = dws ? dws[i] :
((defgrp_idx >= 0) ? BKE_defvert_find_index(dv, defgrp_idx) : NULL);
((defgrp_idx >= 0) ? BKE_defvert_find_index(dv, defgrp_idx) : nullptr);
if (do_normalize) {
w = (w - min_w) * norm_fac;
@@ -292,7 +293,7 @@ void weightvg_update_vg(MDeformVert *dvert,
CLAMP(w, 0.0f, 1.0f);
/* If the vertex is in this vgroup, remove it if needed, or just update it. */
if (dw != NULL) {
if (dw != nullptr) {
if (do_rem && w < rem_thresh) {
BKE_defvert_remove_group(dv, dw);
}
@@ -319,7 +320,7 @@ void weightvg_ui_common(const bContext *C, PointerRNA *ob_ptr, PointerRNA *ptr,
uiItemR(layout, ptr, "mask_constant", UI_ITEM_R_SLIDER, IFACE_("Global Influence:"), ICON_NONE);
if (!has_mask_texture) {
modifier_vgroup_ui(layout, ptr, ob_ptr, "mask_vertex_group", "invert_mask_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, ob_ptr, "mask_vertex_group", "invert_mask_vertex_group", nullptr);
}
if (!has_mask_vertex_group) {
@@ -328,15 +329,15 @@ void weightvg_ui_common(const bContext *C, PointerRNA *ob_ptr, PointerRNA *ptr,
ptr,
"mask_texture",
"texture.new",
NULL,
NULL,
nullptr,
nullptr,
0,
ICON_NONE,
IFACE_("Mask Texture"));
if (has_mask_texture) {
uiItemR(layout, ptr, "mask_tex_use_channel", 0, IFACE_("Channel"), ICON_NONE);
uiItemR(layout, ptr, "mask_tex_mapping", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "mask_tex_mapping", 0, nullptr, ICON_NONE);
if (mask_tex_mapping == MOD_DISP_MAP_OBJECT) {
uiItemR(layout, ptr, "mask_tex_map_object", 0, IFACE_("Object"), ICON_NONE);
@@ -344,7 +345,7 @@ void weightvg_ui_common(const bContext *C, PointerRNA *ob_ptr, PointerRNA *ptr,
else if (mask_tex_mapping == MOD_DISP_MAP_UV && RNA_enum_get(ob_ptr, "type") == OB_MESH) {
PointerRNA obj_data_ptr = RNA_pointer_get(ob_ptr, "data");
uiItemPointerR(
layout, ptr, "mask_tex_uv_layer", &obj_data_ptr, "uv_layers", NULL, ICON_NONE);
layout, ptr, "mask_tex_uv_layer", &obj_data_ptr, "uv_layers", nullptr, ICON_NONE);
}
}
}

View File

@@ -7,10 +7,6 @@
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
struct CurveMapping;
struct MDeformVert;
struct MDeformWeight;
@@ -49,12 +45,8 @@ struct uiLayout;
* mapping to the real vertex index (in case the weight tables do not cover the whole vertices...).
* cmap might be NULL, in which case curve mapping mode will return unmodified data.
*/
void weightvg_do_map(int num,
float *new_w,
short falloff_type,
bool do_invert,
struct CurveMapping *cmap,
struct RNG *rng);
void weightvg_do_map(
int num, float *new_w, short falloff_type, bool do_invert, CurveMapping *cmap, RNG *rng);
/**
* Applies new_w weights to org_w ones, using either a texture, vgroup or constant value as factor.
@@ -70,10 +62,10 @@ void weightvg_do_mask(const ModifierEvalContext *ctx,
float *org_w,
const float *new_w,
Object *ob,
struct Mesh *mesh,
Mesh *mesh,
float fact,
const char defgrp_name[MAX_VGROUP_NAME],
struct Scene *scene,
Scene *scene,
Tex *texture,
int tex_use_channel,
int tex_mapping,
@@ -89,9 +81,9 @@ void weightvg_do_mask(const ModifierEvalContext *ctx,
* If indices is not NULL, it must be an array of same length as weights, mapping to the real
* vertex index (in case the weight array does not cover the whole vertices...).
*/
void weightvg_update_vg(struct MDeformVert *dvert,
void weightvg_update_vg(MDeformVert *dvert,
int defgrp_idx,
struct MDeformWeight **dws,
MDeformWeight **dws,
int num,
const int *indices,
const float *weights,
@@ -105,7 +97,3 @@ void weightvg_update_vg(struct MDeformVert *dvert,
* Common vertex weight mask interface elements for the modifier panels.
*/
void weightvg_ui_common(const bContext *C, PointerRNA *ob_ptr, PointerRNA *ptr, uiLayout *layout);
#ifdef __cplusplus
}
#endif

View File

@@ -45,10 +45,10 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_weightvg_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "MOD_weightvg_util.hh"
/**************************************
* Modifiers functions. *

View File

@@ -39,10 +39,10 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_weightvg_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "MOD_weightvg_util.hh"
/**
* This mixes the old weight with the new weight factor.

View File

@@ -50,10 +50,10 @@
#include "MEM_guardedalloc.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_util.h"
#include "MOD_weightvg_util.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "MOD_util.hh"
#include "MOD_weightvg_util.hh"
//#define USE_TIMEIT

View File

@@ -41,8 +41,8 @@
#include "DEG_depsgraph.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "GEO_mesh_merge_by_distance.hh"

View File

@@ -4,7 +4,7 @@
* \ingroup modifiers
*/
#include <string.h>
#include <cstring>
#include "BLI_utildefines.h"
@@ -26,8 +26,8 @@
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "MOD_modifiertypes.h"
#include "MOD_ui_common.h"
#include "MOD_modifiertypes.hh"
#include "MOD_ui_common.hh"
#include "bmesh.h"
#include "tools/bmesh_wireframe.h"
@@ -51,7 +51,7 @@ static void requiredDataMask(ModifierData *md, CustomData_MeshMasks *r_cddata_ma
}
}
static bool dependsOnNormals(ModifierData *UNUSED(md))
static bool dependsOnNormals(ModifierData * /*md*/)
{
return true;
}
@@ -63,18 +63,18 @@ static Mesh *WireframeModifier_do(WireframeModifierData *wmd, Object *ob, Mesh *
const int defgrp_index = BKE_id_defgroup_name_index(&mesh->id, wmd->defgrp_name);
bm = BKE_mesh_to_bmesh_ex(mesh,
&(struct BMeshCreateParams){0},
&(struct BMeshFromMeshParams){
.calc_face_normal = true,
.calc_vert_normal = true,
.add_key_index = false,
.use_shapekey = false,
.active_shapekey = 0,
.cd_mask_extra = {.vmask = CD_MASK_ORIGINDEX,
.emask = CD_MASK_ORIGINDEX,
.pmask = CD_MASK_ORIGINDEX},
});
BMeshCreateParams create_params{};
BMeshFromMeshParams convert_params{};
convert_params.calc_face_normal = true;
convert_params.calc_vert_normal = true;
convert_params.add_key_index = false;
convert_params.use_shapekey = false;
convert_params.active_shapekey = 0;
convert_params.cd_mask_extra.vmask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.emask = CD_MASK_ORIGINDEX;
convert_params.cd_mask_extra.pmask = CD_MASK_ORIGINDEX;
bm = BKE_mesh_to_bmesh_ex(mesh, &create_params, &convert_params);
BM_mesh_wireframe(bm,
wmd->offset,
@@ -92,18 +92,18 @@ static Mesh *WireframeModifier_do(WireframeModifierData *wmd, Object *ob, Mesh *
MAX2(ob->totcol - 1, 0),
false);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, NULL, mesh);
result = BKE_mesh_from_bmesh_for_eval_nomain(bm, nullptr, mesh);
BM_mesh_free(bm);
return result;
}
static Mesh *modifyMesh(ModifierData *md, const struct ModifierEvalContext *ctx, struct Mesh *mesh)
static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mesh)
{
return WireframeModifier_do((WireframeModifierData *)md, ctx->object, mesh);
}
static void panel_draw(const bContext *UNUSED(C), Panel *panel)
static void panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *col, *row, *sub;
uiLayout *layout = panel->layout;
@@ -114,7 +114,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
uiItemR(layout, ptr, "thickness", 0, IFACE_("Thickness"), ICON_NONE);
uiItemR(layout, ptr, "offset", 0, NULL, ICON_NONE);
uiItemR(layout, ptr, "offset", 0, nullptr, ICON_NONE);
col = uiLayoutColumn(layout, true);
uiItemR(col, ptr, "use_boundary", 0, IFACE_("Boundary"), ICON_NONE);
@@ -135,7 +135,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
modifier_panel_end(layout, ptr);
}
static void vertex_group_panel_draw(const bContext *UNUSED(C), Panel *panel)
static void vertex_group_panel_draw(const bContext * /*C*/, Panel *panel)
{
uiLayout *row;
uiLayout *layout = panel->layout;
@@ -147,7 +147,7 @@ static void vertex_group_panel_draw(const bContext *UNUSED(C), Panel *panel)
uiLayoutSetPropSep(layout, true);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", NULL);
modifier_vgroup_ui(layout, ptr, &ob_ptr, "vertex_group", "invert_vertex_group", nullptr);
row = uiLayoutRow(layout, true);
uiLayoutSetActive(row, has_vertex_group);
@@ -159,7 +159,7 @@ static void panelRegister(ARegionType *region_type)
PanelType *panel_type = modifier_panel_register(
region_type, eModifierType_Wireframe, panel_draw);
modifier_subpanel_register(
region_type, "vertex_group", "Vertex Group", NULL, vertex_group_panel_draw, panel_type);
region_type, "vertex_group", "Vertex Group", nullptr, vertex_group_panel_draw, panel_type);
}
ModifierTypeInfo modifierType_Wireframe = {
@@ -173,24 +173,24 @@ ModifierTypeInfo modifierType_Wireframe = {
/*copyData*/ BKE_modifier_copydata_generic,
/*deformVerts*/ NULL,
/*deformMatrices*/ NULL,
/*deformVertsEM*/ NULL,
/*deformMatricesEM*/ NULL,
/*deformVerts*/ nullptr,
/*deformMatrices*/ nullptr,
/*deformVertsEM*/ nullptr,
/*deformMatricesEM*/ nullptr,
/*modifyMesh*/ modifyMesh,
/*modifyGeometrySet*/ NULL,
/*modifyGeometrySet*/ nullptr,
/*initData*/ initData,
/*requiredDataMask*/ requiredDataMask,
/*freeData*/ NULL,
/*isDisabled*/ NULL,
/*updateDepgraph*/ NULL,
/*dependsOnTime*/ NULL,
/*freeData*/ nullptr,
/*isDisabled*/ nullptr,
/*updateDepgraph*/ nullptr,
/*dependsOnTime*/ nullptr,
/*dependsOnNormals*/ dependsOnNormals,
/*foreachIDLink*/ NULL,
/*foreachTexLink*/ NULL,
/*freeRuntimeData*/ NULL,
/*foreachIDLink*/ nullptr,
/*foreachTexLink*/ nullptr,
/*freeRuntimeData*/ nullptr,
/*panelRegister*/ panelRegister,
/*blendWrite*/ NULL,
/*blendRead*/ NULL,
/*blendWrite*/ nullptr,
/*blendRead*/ nullptr,
};