WIP: Vulkan: Workbench #107886
|
@ -171,6 +171,11 @@ template<typename T> inline T pow(const T &x, const T &power)
|
|||
return std::pow(x, power);
|
||||
}
|
||||
|
||||
template<typename T> inline T exp(const T &x)
|
||||
{
|
||||
return std::exp(x);
|
||||
}
|
||||
|
||||
template<typename T> inline T safe_acos(const T &a)
|
||||
{
|
||||
if (UNLIKELY(a <= T(-1))) {
|
||||
|
|
|
@ -206,6 +206,16 @@ template<typename T, int Size>
|
|||
return result;
|
||||
}
|
||||
|
||||
/* Per-element exponent. */
|
||||
template<typename T, int Size> [[nodiscard]] inline VecBase<T, Size> exp(const VecBase<T, Size> &x)
|
||||
{
|
||||
VecBase<T, Size> result;
|
||||
for (int i = 0; i < Size; i++) {
|
||||
result[i] = math::exp(x[i]);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns \a a if it is a multiple of \a b or the next multiple or \a b after \b a .
|
||||
* In other words, it is equivalent to `divide_ceil(a, b) * b`.
|
||||
|
|
|
@ -172,4 +172,13 @@ TEST(math_vector, safe_rcp)
|
|||
EXPECT_NEAR(result.z, 0.25f, 1e-6f);
|
||||
}
|
||||
|
||||
TEST(math_vector, exp)
|
||||
{
|
||||
const float3 a(1.0f, 2.0f, 3.0f);
|
||||
const float3 result = math::exp(a);
|
||||
EXPECT_NEAR(result.x, 2.718281828459045f, 1e-6f);
|
||||
EXPECT_NEAR(result.y, 7.38905609893065f, 1e-6f);
|
||||
EXPECT_NEAR(result.z, 20.085536923187668f, 1e-6f);
|
||||
}
|
||||
|
||||
} // namespace blender::tests
|
||||
|
|
|
@ -76,7 +76,10 @@ typedef struct BlendFileReadWMSetupData {
|
|||
/** The existing WM when filereading process is started. */
|
||||
struct wmWindowManager *old_wm;
|
||||
|
||||
/** The startup file is being read. */
|
||||
bool is_read_homefile;
|
||||
/** The factory startup file is being read. */
|
||||
bool is_factory_startup;
|
||||
} BlendFileReadWMSetupData;
|
||||
|
||||
struct BlendFileReadParams {
|
||||
|
|
|
@ -976,6 +976,9 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
|
|||
id->us = 0;
|
||||
undo_push_label = "Delete Data-Block";
|
||||
}
|
||||
else {
|
||||
undo_push_label = "Unlink Data-Block";
|
||||
}
|
||||
|
||||
break;
|
||||
case UI_ID_FAKE_USER:
|
||||
|
|
|
@ -220,9 +220,9 @@ void MTLStorageBuf::clear(uint32_t clear_value)
|
|||
if (ctx) {
|
||||
/* If all 4 bytes within clear value are equal, use the builtin fast-path for clearing. */
|
||||
uint clear_byte = clear_value & 0xFF;
|
||||
bool clear_value_bytes_equal = (clear_byte == (clear_value >> 8) & 0xFF) &&
|
||||
(clear_byte == (clear_value >> 16) & 0xFF) &&
|
||||
(clear_byte == (clear_value >> 24) & 0xFF);
|
||||
bool clear_value_bytes_equal = (clear_byte == ((clear_value >> 8) & 0xFF)) &&
|
||||
(clear_byte == ((clear_value >> 16) & 0xFF)) &&
|
||||
(clear_byte == ((clear_value >> 24) & 0xFF));
|
||||
if (clear_value_bytes_equal) {
|
||||
id<MTLBlitCommandEncoder> blit_encoder =
|
||||
ctx->main_command_buffer.ensure_begin_blit_encoder();
|
||||
|
|
|
@ -16,6 +16,7 @@ VKPipelineStateManager::VKPipelineStateManager()
|
|||
rasterization_state = {};
|
||||
rasterization_state.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO;
|
||||
rasterization_state.lineWidth = 1.0f;
|
||||
rasterization_state.frontFace = VK_FRONT_FACE_CLOCKWISE;
|
||||
|
||||
pipeline_color_blend_state = {};
|
||||
pipeline_color_blend_state.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO;
|
||||
|
|
|
@ -310,6 +310,7 @@ typedef enum PropertyFlag {
|
|||
**/
|
||||
PROP_PATH_OUTPUT = (1 << 2),
|
||||
} PropertyFlag;
|
||||
ENUM_OPERATORS(PropertyFlag, PROP_NO_DEG_UPDATE)
|
||||
|
||||
/**
|
||||
* Flags related to comparing and overriding RNA properties.
|
||||
|
@ -354,6 +355,7 @@ typedef enum PropertyOverrideFlag {
|
|||
*/
|
||||
PROPOVERRIDE_NO_PROP_NAME = (1 << 11),
|
||||
} PropertyOverrideFlag;
|
||||
ENUM_OPERATORS(PropertyOverrideFlag, PROPOVERRIDE_NO_PROP_NAME);
|
||||
|
||||
/**
|
||||
* Function parameters flags.
|
||||
|
|
|
@ -41,16 +41,16 @@ set(DEFSRC
|
|||
rna_gpencil_legacy_modifier.c
|
||||
rna_image.c
|
||||
rna_key.c
|
||||
rna_lattice.c
|
||||
rna_lattice.cc
|
||||
rna_layer.c
|
||||
rna_light.c
|
||||
rna_lightprobe.c
|
||||
rna_linestyle.c
|
||||
rna_main.c
|
||||
rna_mask.c
|
||||
rna_mask.cc
|
||||
rna_material.c
|
||||
rna_mesh.c
|
||||
rna_meta.c
|
||||
rna_meta.cc
|
||||
rna_modifier.c
|
||||
rna_movieclip.c
|
||||
rna_nla.c
|
||||
|
@ -61,7 +61,7 @@ set(DEFSRC
|
|||
rna_palette.c
|
||||
rna_particle.c
|
||||
rna_pointcloud.c
|
||||
rna_pose.c
|
||||
rna_pose.cc
|
||||
rna_render.c
|
||||
rna_rigidbody.c
|
||||
rna_rna.c
|
||||
|
@ -106,7 +106,7 @@ set(APISRC
|
|||
rna_curve_api.c
|
||||
rna_fcurve_api.c
|
||||
rna_image_api.c
|
||||
rna_lattice_api.c
|
||||
rna_lattice_api.cc
|
||||
rna_main_api.c
|
||||
rna_material_api.c
|
||||
rna_mesh_api.c
|
||||
|
@ -137,21 +137,42 @@ set_source_files_properties(${GENSRC} PROPERTIES GENERATED TRUE)
|
|||
# CFLAGS for Generated Files
|
||||
#
|
||||
# less strict flags for generated source
|
||||
set(GENSRC_FLAGS)
|
||||
set(GENSRC_CFLAGS)
|
||||
set(GENSRC_CXXFLAGS)
|
||||
if(CMAKE_COMPILER_IS_GNUCC OR (CMAKE_C_COMPILER_ID MATCHES "Clang"))
|
||||
set(GENSRC_CFLAGS "-Wno-missing-prototypes")
|
||||
set(GENSRC_CXXFLAGS "-Wno-missing-declarations")
|
||||
endif()
|
||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
string(APPEND GENSRC_CFLAGS " -Wno-missing-variable-declarations")
|
||||
string(APPEND GENSRC_FLAGS " -Wno-missing-variable-declarations")
|
||||
elseif(MSVC)
|
||||
# Restore warn C4100 (unreferenced formal parameter) back to w4
|
||||
remove_cc_flag(/w34100)
|
||||
endif()
|
||||
|
||||
if(GENSRC_CFLAGS)
|
||||
set_source_files_properties(${GENSRC} PROPERTIES COMPILE_FLAGS "${GENSRC_CFLAGS}")
|
||||
set(GENSRC_C ${GENSRC})
|
||||
list(FILTER GENSRC_C INCLUDE REGEX ".*\.c$")
|
||||
set(GENSRC_CXX ${GENSRC})
|
||||
list(FILTER GENSRC_CXX INCLUDE REGEX ".*\.cc$")
|
||||
|
||||
if(GENSRC_FLAGS)
|
||||
set_source_files_properties(${GENSRC} PROPERTIES COMPILE_FLAGS "${GENSRC_FLAGS}")
|
||||
endif()
|
||||
|
||||
if(GENSRC_CFLAGS)
|
||||
set_source_files_properties(${GENSRC_C} PROPERTIES COMPILE_FLAGS "${GENSRC_CFLAGS}")
|
||||
endif()
|
||||
|
||||
if(GENSRC_CXXFLAGS)
|
||||
set_source_files_properties(${GENSRC_CXX} PROPERTIES COMPILE_FLAGS "${GENSRC_CXXFLAGS}")
|
||||
endif()
|
||||
|
||||
unset(GENSRC_C)
|
||||
unset(GENSRC_CXX)
|
||||
unset(GENSRC_FLAGS)
|
||||
unset(GENSRC_CFLAGS)
|
||||
unset(GENSRC_CXXFLAGS)
|
||||
|
||||
|
||||
# NOTE: Disable clang-tidy because generated files are stored outside of the source,
|
||||
|
|
|
@ -743,7 +743,7 @@ static char *rna_def_property_get_func(
|
|||
case PROP_STRING: {
|
||||
StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
|
||||
UNUSED_VARS_NDEBUG(sprop);
|
||||
fprintf(f, "void %s(PointerRNA *ptr, char *value)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C void %s(PointerRNA *ptr, char *value)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " %s(ptr, value);\n", manualfunc);
|
||||
|
@ -781,7 +781,7 @@ static char *rna_def_property_get_func(
|
|||
break;
|
||||
}
|
||||
case PROP_POINTER: {
|
||||
fprintf(f, "PointerRNA %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C PointerRNA %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " return %s(ptr);\n", manualfunc);
|
||||
|
@ -831,11 +831,14 @@ static char *rna_def_property_get_func(
|
|||
default:
|
||||
if (prop->arraydimension) {
|
||||
if (prop->flag & PROP_DYNAMIC) {
|
||||
fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop));
|
||||
fprintf(f,
|
||||
"RNA_EXTERN_C void %s(PointerRNA *ptr, %s values[])\n",
|
||||
func,
|
||||
rna_type_type(prop));
|
||||
}
|
||||
else {
|
||||
fprintf(f,
|
||||
"void %s(PointerRNA *ptr, %s values[%u])\n",
|
||||
"RNA_EXTERN_C void %s(PointerRNA *ptr, %s values[%u])\n",
|
||||
func,
|
||||
rna_type_type(prop),
|
||||
prop->totarraylength);
|
||||
|
@ -931,7 +934,7 @@ static char *rna_def_property_get_func(
|
|||
fprintf(f, "}\n\n");
|
||||
}
|
||||
else {
|
||||
fprintf(f, "%s %s(PointerRNA *ptr)\n", rna_type_type(prop), func);
|
||||
fprintf(f, "RNA_EXTERN_C %s %s(PointerRNA *ptr)\n", rna_type_type(prop), func);
|
||||
fprintf(f, "{\n");
|
||||
|
||||
if (manualfunc) {
|
||||
|
@ -1022,17 +1025,25 @@ static void rna_clamp_value_range_check(FILE *f,
|
|||
{
|
||||
if (prop->type == PROP_INT) {
|
||||
IntPropertyRNA *iprop = (IntPropertyRNA *)prop;
|
||||
fprintf(f, " {\n");
|
||||
fprintf(f, "#ifdef __cplusplus\n");
|
||||
fprintf(f, " using T = decltype(%s%s);\n", dnaname_prefix, dnaname);
|
||||
fprintf(f, " static_assert(std::numeric_limits<T>::max() >= %d);\n", iprop->hardmax);
|
||||
fprintf(f, " static_assert(std::numeric_limits<T>::min() <= %d);\n", iprop->hardmin);
|
||||
fprintf(f, "#else\n");
|
||||
fprintf(f,
|
||||
" { BLI_STATIC_ASSERT("
|
||||
" BLI_STATIC_ASSERT("
|
||||
"(TYPEOF_MAX(%s%s) >= %d) && "
|
||||
"(TYPEOF_MIN(%s%s) <= %d), "
|
||||
"\"invalid limits\"); }\n",
|
||||
"\"invalid limits\");\n",
|
||||
dnaname_prefix,
|
||||
dnaname,
|
||||
iprop->hardmax,
|
||||
dnaname_prefix,
|
||||
dnaname,
|
||||
iprop->hardmin);
|
||||
fprintf(f, "#endif\n");
|
||||
fprintf(f, " }\n");
|
||||
}
|
||||
}
|
||||
#endif /* USE_RNA_RANGE_CHECK */
|
||||
|
@ -1050,7 +1061,7 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
|
|||
fprintf(f, "CLAMPIS(value, ");
|
||||
}
|
||||
if (iprop->range) {
|
||||
fprintf(f, "prop_clamp_min, prop_clamp_max);");
|
||||
fprintf(f, "prop_clamp_min, prop_clamp_max);\n");
|
||||
}
|
||||
else {
|
||||
rna_int_print(f, iprop->hardmin);
|
||||
|
@ -1072,7 +1083,7 @@ static void rna_clamp_value(FILE *f, PropertyRNA *prop, int array)
|
|||
fprintf(f, "CLAMPIS(value, ");
|
||||
}
|
||||
if (fprop->range) {
|
||||
fprintf(f, "prop_clamp_min, prop_clamp_max);");
|
||||
fprintf(f, "prop_clamp_min, prop_clamp_max);\n");
|
||||
}
|
||||
else {
|
||||
rna_float_print(f, fprop->hardmin);
|
||||
|
@ -1110,7 +1121,7 @@ static char *rna_def_property_search_func(FILE *f,
|
|||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "search");
|
||||
|
||||
fprintf(f,
|
||||
"void %s("
|
||||
"RNA_EXTERN_C void %s("
|
||||
"const bContext *C, "
|
||||
"PointerRNA *ptr, "
|
||||
"PropertyRNA *prop, "
|
||||
|
@ -1151,7 +1162,7 @@ static char *rna_def_property_set_func(
|
|||
switch (prop->type) {
|
||||
case PROP_STRING: {
|
||||
StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
|
||||
fprintf(f, "void %s(PointerRNA *ptr, const char *value)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C void %s(PointerRNA *ptr, const char *value)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " %s(ptr, value);\n", manualfunc);
|
||||
|
@ -1166,7 +1177,8 @@ static char *rna_def_property_set_func(
|
|||
f, " if (data->%s != NULL) { MEM_freeN(data->%s); }\n", dp->dnaname, dp->dnaname);
|
||||
fprintf(f, " const int length = strlen(value);\n");
|
||||
fprintf(f, " if (length > 0) {\n");
|
||||
fprintf(f, " data->%s = MEM_mallocN(length + 1, __func__);\n", dp->dnaname);
|
||||
fprintf(
|
||||
f, " data->%s = (char *)MEM_mallocN(length + 1, __func__);\n", dp->dnaname);
|
||||
fprintf(f, " memcpy(data->%s, value, length + 1);\n", dp->dnaname);
|
||||
fprintf(f, " } else { data->%s = NULL; }\n", dp->dnaname);
|
||||
}
|
||||
|
@ -1196,7 +1208,10 @@ static char *rna_def_property_set_func(
|
|||
break;
|
||||
}
|
||||
case PROP_POINTER: {
|
||||
fprintf(f, "void %s(PointerRNA *ptr, PointerRNA value, struct ReportList *reports)\n", func);
|
||||
fprintf(
|
||||
f,
|
||||
"RNA_EXTERN_C void %s(PointerRNA *ptr, PointerRNA value, struct ReportList *reports)\n",
|
||||
func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " %s(ptr, value, reports);\n", manualfunc);
|
||||
|
@ -1229,7 +1244,7 @@ static char *rna_def_property_set_func(
|
|||
}
|
||||
}
|
||||
|
||||
fprintf(f, " data->%s = value.data;\n", dp->dnaname);
|
||||
fprintf(f, " *(void **)&data->%s = value.data;\n", dp->dnaname);
|
||||
}
|
||||
fprintf(f, "}\n\n");
|
||||
break;
|
||||
|
@ -1237,11 +1252,14 @@ static char *rna_def_property_set_func(
|
|||
default:
|
||||
if (prop->arraydimension) {
|
||||
if (prop->flag & PROP_DYNAMIC) {
|
||||
fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop));
|
||||
fprintf(f,
|
||||
"RNA_EXTERN_C void %s(PointerRNA *ptr, const %s values[])\n",
|
||||
func,
|
||||
rna_type_type(prop));
|
||||
}
|
||||
else {
|
||||
fprintf(f,
|
||||
"void %s(PointerRNA *ptr, const %s values[%u])\n",
|
||||
"RNA_EXTERN_C void %s(PointerRNA *ptr, const %s values[%u])\n",
|
||||
func,
|
||||
rna_type_type(prop),
|
||||
prop->totarraylength);
|
||||
|
@ -1353,7 +1371,7 @@ static char *rna_def_property_set_func(
|
|||
fprintf(f, "}\n\n");
|
||||
}
|
||||
else {
|
||||
fprintf(f, "void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop));
|
||||
fprintf(f, "RNA_EXTERN_C void %s(PointerRNA *ptr, %s value)\n", func, rna_type_type(prop));
|
||||
fprintf(f, "{\n");
|
||||
|
||||
if (manualfunc) {
|
||||
|
@ -1439,7 +1457,7 @@ static char *rna_def_property_length_func(
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
|
||||
|
||||
fprintf(f, "int %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C int %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " return %s(ptr);\n", manualfunc);
|
||||
|
@ -1472,7 +1490,7 @@ static char *rna_def_property_length_func(
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "length");
|
||||
|
||||
fprintf(f, "int %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C int %s(PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " return %s(ptr);\n", manualfunc);
|
||||
|
@ -1521,7 +1539,7 @@ static char *rna_def_property_begin_func(
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "begin");
|
||||
|
||||
fprintf(f, "void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C void %s(CollectionPropertyIterator *iter, PointerRNA *ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
|
||||
if (!manualfunc) {
|
||||
|
@ -1610,7 +1628,7 @@ static char *rna_def_property_lookup_int_func(FILE *f,
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_int");
|
||||
|
||||
fprintf(f, "int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C int %s(PointerRNA *ptr, int index, PointerRNA *r_ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
|
||||
if (manualfunc) {
|
||||
|
@ -1754,7 +1772,21 @@ static char *rna_def_property_lookup_string_func(FILE *f,
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "lookup_string");
|
||||
|
||||
fprintf(f, "int %s(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)\n", func);
|
||||
if (!manualfunc) {
|
||||
/* XXX extern declaration could be avoid by including RNA_blender.h, but this has lots of
|
||||
* unknown DNA types in functions, leading to conflicting function signatures.
|
||||
*/
|
||||
fprintf(f,
|
||||
"RNA_EXTERN_C int %s_%s_length(PointerRNA *);\n",
|
||||
item_name_base->identifier,
|
||||
rna_safe_id(item_name_prop->identifier));
|
||||
fprintf(f,
|
||||
"RNA_EXTERN_C void %s_%s_get(PointerRNA *, char *);\n\n",
|
||||
item_name_base->identifier,
|
||||
rna_safe_id(item_name_prop->identifier));
|
||||
}
|
||||
|
||||
fprintf(f, "RNA_EXTERN_C int %s(PointerRNA *ptr, const char *key, PointerRNA *r_ptr)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
|
||||
if (manualfunc) {
|
||||
|
@ -1763,18 +1795,6 @@ static char *rna_def_property_lookup_string_func(FILE *f,
|
|||
return func;
|
||||
}
|
||||
|
||||
/* XXX extern declaration could be avoid by including RNA_blender.h, but this has lots of unknown
|
||||
* DNA types in functions, leading to conflicting function signatures.
|
||||
*/
|
||||
fprintf(f,
|
||||
" extern int %s_%s_length(PointerRNA *);\n",
|
||||
item_name_base->identifier,
|
||||
rna_safe_id(item_name_prop->identifier));
|
||||
fprintf(f,
|
||||
" extern void %s_%s_get(PointerRNA *, char *);\n\n",
|
||||
item_name_base->identifier,
|
||||
rna_safe_id(item_name_prop->identifier));
|
||||
|
||||
fprintf(f, " bool found = false;\n");
|
||||
fprintf(f, " CollectionPropertyIterator iter;\n");
|
||||
fprintf(f, " char namebuf[%d];\n", namebuflen);
|
||||
|
@ -1844,7 +1864,7 @@ static char *rna_def_property_next_func(FILE *f,
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "next");
|
||||
|
||||
fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C void %s(CollectionPropertyIterator *iter)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
fprintf(f, " %s(iter);\n", manualfunc);
|
||||
|
||||
|
@ -1873,7 +1893,7 @@ static char *rna_def_property_end_func(FILE *f,
|
|||
|
||||
func = rna_alloc_function_name(srna->identifier, rna_safe_id(prop->identifier), "end");
|
||||
|
||||
fprintf(f, "void %s(CollectionPropertyIterator *iter)\n", func);
|
||||
fprintf(f, "RNA_EXTERN_C void %s(CollectionPropertyIterator *iter)\n", func);
|
||||
fprintf(f, "{\n");
|
||||
if (manualfunc) {
|
||||
fprintf(f, " %s(iter);\n", manualfunc);
|
||||
|
@ -2127,7 +2147,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
|
|||
fprintf(f, "bool %sget(PointerRNA *ptr);\n", func);
|
||||
fprintf(f, "void %sset(PointerRNA *ptr, bool value);\n", func);
|
||||
}
|
||||
else if (prop->arraydimension && prop->totarraylength) {
|
||||
else if ((prop->flag & PROP_DYNAMIC) == 0 && prop->arraydimension && prop->totarraylength) {
|
||||
fprintf(f, "void %sget(PointerRNA *ptr, bool values[%u]);\n", func, prop->totarraylength);
|
||||
fprintf(f,
|
||||
"void %sset(PointerRNA *ptr, const bool values[%u]);\n",
|
||||
|
@ -2145,7 +2165,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
|
|||
fprintf(f, "int %sget(PointerRNA *ptr);\n", func);
|
||||
fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
|
||||
}
|
||||
else if (prop->arraydimension && prop->totarraylength) {
|
||||
else if ((prop->flag & PROP_DYNAMIC) == 0 && prop->arraydimension && prop->totarraylength) {
|
||||
fprintf(f, "void %sget(PointerRNA *ptr, int values[%u]);\n", func, prop->totarraylength);
|
||||
fprintf(
|
||||
f, "void %sset(PointerRNA *ptr, const int values[%u]);\n", func, prop->totarraylength);
|
||||
|
@ -2161,7 +2181,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
|
|||
fprintf(f, "float %sget(PointerRNA *ptr);\n", func);
|
||||
fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func);
|
||||
}
|
||||
else if (prop->arraydimension && prop->totarraylength) {
|
||||
else if ((prop->flag & PROP_DYNAMIC) == 0 && prop->arraydimension && prop->totarraylength) {
|
||||
fprintf(f, "void %sget(PointerRNA *ptr, float values[%u]);\n", func, prop->totarraylength);
|
||||
fprintf(f,
|
||||
"void %sset(PointerRNA *ptr, const float values[%u]);\n",
|
||||
|
@ -2846,7 +2866,7 @@ static void rna_def_property_wrapper_funcs(FILE *f, StructDefRNA *dsrna, Propert
|
|||
char funcname[2048];
|
||||
rna_construct_wrapper_function_name(
|
||||
funcname, sizeof(funcname), dsrna->srna->identifier, dp->prop->identifier, "get_length");
|
||||
fprintf(f, "int %s(PointerRNA *ptr, int *arraylen)\n", funcname);
|
||||
fprintf(f, "RNA_EXTERN_C int %s(PointerRNA *ptr, int *arraylen)\n", funcname);
|
||||
fprintf(f, "{\n");
|
||||
fprintf(f, "\treturn %s(ptr, arraylen);\n", rna_function_string(dp->prop->getlength));
|
||||
fprintf(f, "}\n\n");
|
||||
|
@ -2869,6 +2889,7 @@ static void rna_def_function_wrapper_funcs(FILE *f, StructDefRNA *dsrna, Functio
|
|||
rna_construct_wrapper_function_name(
|
||||
funcname, sizeof(funcname), srna->identifier, func->identifier, "func");
|
||||
|
||||
fprintf(f, "RNA_EXTERN_C ");
|
||||
rna_generate_static_parameter_prototypes(f, srna, dfunc, funcname, 0);
|
||||
|
||||
fprintf(f, "\n{\n");
|
||||
|
@ -2946,9 +2967,10 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
|||
funcname = rna_alloc_function_name(srna->identifier, func->identifier, "call");
|
||||
|
||||
/* function definition */
|
||||
fprintf(f,
|
||||
"void %s(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)",
|
||||
funcname);
|
||||
fprintf(
|
||||
f,
|
||||
"static void %s(bContext *C, ReportList *reports, PointerRNA *_ptr, ParameterList *_parms)",
|
||||
funcname);
|
||||
fprintf(f, "\n{\n");
|
||||
|
||||
/* variable definitions */
|
||||
|
@ -3020,7 +3042,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
|||
rna_type_struct(dparm->prop),
|
||||
rna_parameter_type_name(dparm->prop),
|
||||
ptrstr,
|
||||
dparm->prop->identifier);
|
||||
rna_safe_id(dparm->prop->identifier));
|
||||
}
|
||||
|
||||
if (has_data) {
|
||||
|
@ -3101,14 +3123,14 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
|||
if (flag & PROP_DYNAMIC) {
|
||||
fprintf(f,
|
||||
"\t%s_len = %s((ParameterDynAlloc *)_data)->array_tot;\n",
|
||||
dparm->prop->identifier,
|
||||
rna_safe_id(dparm->prop->identifier),
|
||||
pout ? "(int *)&" : "(int)");
|
||||
data_str = "(&(((ParameterDynAlloc *)_data)->array))";
|
||||
}
|
||||
else {
|
||||
data_str = "_data";
|
||||
}
|
||||
fprintf(f, "\t%s = ", dparm->prop->identifier);
|
||||
fprintf(f, "\t%s = ", rna_safe_id(dparm->prop->identifier));
|
||||
|
||||
if (!pout) {
|
||||
fprintf(f, "%s", valstr);
|
||||
|
@ -3193,10 +3215,13 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
|||
first = 0;
|
||||
|
||||
if (dparm->prop->flag & PROP_DYNAMIC) {
|
||||
fprintf(f, "%s_len, %s", dparm->prop->identifier, dparm->prop->identifier);
|
||||
fprintf(f,
|
||||
"%s_len, %s",
|
||||
rna_safe_id(dparm->prop->identifier),
|
||||
rna_safe_id(dparm->prop->identifier));
|
||||
}
|
||||
else {
|
||||
fprintf(f, "%s", dparm->prop->identifier);
|
||||
fprintf(f, "%s", rna_safe_id(dparm->prop->identifier));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3495,7 +3520,7 @@ static void rna_generate_internal_property_prototypes(BlenderRNA *UNUSED(brna),
|
|||
for (prop = base->cont.properties.first; prop; prop = prop->next) {
|
||||
fprintf(f,
|
||||
"%s%s rna_%s_%s;\n",
|
||||
"extern ",
|
||||
"RNA_EXTERN_C_OR_EXTERN ",
|
||||
rna_property_structname(prop->type),
|
||||
base->identifier,
|
||||
prop->identifier);
|
||||
|
@ -3509,7 +3534,7 @@ static void rna_generate_internal_property_prototypes(BlenderRNA *UNUSED(brna),
|
|||
|
||||
for (prop = srna->cont.properties.first; prop; prop = prop->next) {
|
||||
fprintf(f,
|
||||
"extern %s rna_%s_%s;\n",
|
||||
"RNA_EXTERN_C %s rna_%s_%s;\n",
|
||||
rna_property_structname(prop->type),
|
||||
srna->identifier,
|
||||
prop->identifier);
|
||||
|
@ -4145,7 +4170,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
|
|||
rna_function_string(iprop->getarray_ex),
|
||||
rna_function_string(iprop->setarray_ex),
|
||||
rna_function_string(iprop->range_ex));
|
||||
rna_int_print(f, iprop->ui_scale_type);
|
||||
fprintf(f, "%s", rna_ui_scale_type_string(iprop->ui_scale_type));
|
||||
fprintf(f, ", ");
|
||||
rna_int_print(f, iprop->softmin);
|
||||
fprintf(f, ", ");
|
||||
|
@ -4207,7 +4232,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
|
|||
case PROP_STRING: {
|
||||
StringPropertyRNA *sprop = (StringPropertyRNA *)prop;
|
||||
fprintf(f,
|
||||
"\t%s, %s, %s, %s, %s, %s, %s, %d, %d, ",
|
||||
"\t%s, %s, %s, %s, %s, %s, %s, (eStringPropertySearchFlag)%d, %d, ",
|
||||
rna_function_string(sprop->get),
|
||||
rna_function_string(sprop->length),
|
||||
rna_function_string(sprop->set),
|
||||
|
@ -4530,14 +4555,14 @@ static RNAProcessItem PROCESS_ITEMS[] = {
|
|||
{"rna_image.c", "rna_image_api.c", RNA_def_image},
|
||||
{"rna_key.c", NULL, RNA_def_key},
|
||||
{"rna_light.c", NULL, RNA_def_light},
|
||||
{"rna_lattice.c", "rna_lattice_api.c", RNA_def_lattice},
|
||||
{"rna_lattice.cc", "rna_lattice_api.cc", RNA_def_lattice},
|
||||
{"rna_layer.c", NULL, RNA_def_view_layer},
|
||||
{"rna_linestyle.c", NULL, RNA_def_linestyle},
|
||||
{"rna_main.c", "rna_main_api.c", RNA_def_main},
|
||||
{"rna_fluid.c", NULL, RNA_def_fluid},
|
||||
{"rna_material.c", "rna_material_api.c", RNA_def_material},
|
||||
{"rna_mesh.c", "rna_mesh_api.c", RNA_def_mesh},
|
||||
{"rna_meta.c", "rna_meta_api.c", RNA_def_meta},
|
||||
{"rna_meta.cc", "rna_meta_api.c", RNA_def_meta},
|
||||
{"rna_modifier.c", NULL, RNA_def_modifier},
|
||||
{"rna_gpencil_legacy_modifier.c", NULL, RNA_def_greasepencil_modifier},
|
||||
{"rna_shader_fx.c", NULL, RNA_def_shader_fx},
|
||||
|
@ -4550,7 +4575,7 @@ static RNAProcessItem PROCESS_ITEMS[] = {
|
|||
{"rna_palette.c", NULL, RNA_def_palette},
|
||||
{"rna_particle.c", NULL, RNA_def_particle},
|
||||
{"rna_pointcloud.c", NULL, RNA_def_pointcloud},
|
||||
{"rna_pose.c", "rna_pose_api.c", RNA_def_pose},
|
||||
{"rna_pose.cc", "rna_pose_api.c", RNA_def_pose},
|
||||
{"rna_curveprofile.c", NULL, RNA_def_profile},
|
||||
{"rna_lightprobe.c", NULL, RNA_def_lightprobe},
|
||||
{"rna_render.c", NULL, RNA_def_render},
|
||||
|
@ -4578,7 +4603,7 @@ static RNAProcessItem PROCESS_ITEMS[] = {
|
|||
{"rna_world.c", NULL, RNA_def_world},
|
||||
{"rna_movieclip.c", NULL, RNA_def_movieclip},
|
||||
{"rna_tracking.c", NULL, RNA_def_tracking},
|
||||
{"rna_mask.c", NULL, RNA_def_mask},
|
||||
{"rna_mask.cc", NULL, RNA_def_mask},
|
||||
{"rna_xr.c", NULL, RNA_def_xr},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
@ -4629,6 +4654,13 @@ static void rna_generate(BlenderRNA *brna, FILE *f, const char *filename, const
|
|||
fprintf(f, "#include \"%s\"\n", api_filename);
|
||||
}
|
||||
fprintf(f, "\n");
|
||||
fprintf(f, "#ifdef __cplusplus\n");
|
||||
fprintf(f, "# define RNA_EXTERN_C extern \"C\"\n");
|
||||
fprintf(f, "# define RNA_EXTERN_C_OR_EXTERN extern \"C\"\n");
|
||||
fprintf(f, "#else\n");
|
||||
fprintf(f, "# define RNA_EXTERN_C\n");
|
||||
fprintf(f, "# define RNA_EXTERN_C_OR_EXTERN extern\n");
|
||||
fprintf(f, "#endif\n");
|
||||
|
||||
/* we want the included C files to have warnings enabled but for the generated code
|
||||
* ignore unused-parameter warnings which are hard to prevent */
|
||||
|
@ -5354,7 +5386,9 @@ static int rna_preprocess(const char *outfile, const char *public_header_outfile
|
|||
fprintf(file,
|
||||
"/* Automatically generated function declarations for the Data API.\n"
|
||||
" * Do not edit manually, changes will be overwritten. */\n\n");
|
||||
fprintf(file, "#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n");
|
||||
rna_generate_struct_rna_prototypes(brna, file);
|
||||
fprintf(file, "#ifdef __cplusplus\n}\n#endif\n");
|
||||
fclose(file);
|
||||
status = (DefRNA.error != 0);
|
||||
}
|
||||
|
@ -5363,8 +5397,14 @@ static int rna_preprocess(const char *outfile, const char *public_header_outfile
|
|||
for (i = 0; PROCESS_ITEMS[i].filename; i++) {
|
||||
strcpy(deffile, outfile);
|
||||
strcat(deffile, PROCESS_ITEMS[i].filename);
|
||||
deffile[strlen(deffile) - 2] = '\0';
|
||||
strcat(deffile, "_gen.c" TMP_EXT);
|
||||
if (deffile[strlen(deffile) - 3] == '.') {
|
||||
deffile[strlen(deffile) - 3] = '\0';
|
||||
strcat(deffile, "_gen.cc" TMP_EXT);
|
||||
}
|
||||
else {
|
||||
deffile[strlen(deffile) - 2] = '\0';
|
||||
strcat(deffile, "_gen.c" TMP_EXT);
|
||||
}
|
||||
|
||||
if (status) {
|
||||
make_bad_file(deffile, __LINE__);
|
||||
|
|
|
@ -82,7 +82,7 @@ static void rna_Lattice_points_begin(CollectionPropertyIterator *iter, PointerRN
|
|||
}
|
||||
}
|
||||
|
||||
static void rna_Lattice_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Lattice_update_data(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->owner_id;
|
||||
|
||||
|
@ -94,9 +94,7 @@ static void rna_Lattice_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), P
|
|||
* we could split this up differently (one update call per property)
|
||||
* but for now that's overkill
|
||||
*/
|
||||
static void rna_Lattice_update_data_editlatt(Main *UNUSED(bmain),
|
||||
Scene *UNUSED(scene),
|
||||
PointerRNA *ptr)
|
||||
static void rna_Lattice_update_data_editlatt(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->owner_id;
|
||||
Lattice *lt = (Lattice *)ptr->owner_id;
|
||||
|
@ -126,7 +124,8 @@ static void rna_Lattice_update_size(Main *bmain, Scene *scene, PointerRNA *ptr)
|
|||
neww = (lt->opntsw > 0) ? lt->opntsw : lt->pntsw;
|
||||
|
||||
/* #BKE_lattice_resize needs an object, any object will have the same result */
|
||||
for (ob = bmain->objects.first; ob; ob = ob->id.next) {
|
||||
for (ob = static_cast<Object *>(bmain->objects.first); ob;
|
||||
ob = static_cast<Object *>(ob->id.next)) {
|
||||
if (ob->data == lt) {
|
||||
BKE_lattice_resize(lt, newu, newv, neww, ob);
|
||||
if (lt->editlatt) {
|
||||
|
@ -149,7 +148,7 @@ static void rna_Lattice_update_size(Main *bmain, Scene *scene, PointerRNA *ptr)
|
|||
|
||||
static void rna_Lattice_use_outside_set(PointerRNA *ptr, bool value)
|
||||
{
|
||||
Lattice *lt = ptr->data;
|
||||
Lattice *lt = static_cast<Lattice *>(ptr->data);
|
||||
|
||||
if (value) {
|
||||
lt->flag |= LT_OUTSIDE;
|
||||
|
@ -172,11 +171,11 @@ static void rna_Lattice_use_outside_set(PointerRNA *ptr, bool value)
|
|||
}
|
||||
}
|
||||
|
||||
static int rna_Lattice_size_editable(PointerRNA *ptr, const char **UNUSED(r_info))
|
||||
static int rna_Lattice_size_editable(PointerRNA *ptr, const char ** /*r_info*/)
|
||||
{
|
||||
Lattice *lt = (Lattice *)ptr->data;
|
||||
|
||||
return (lt->key == NULL) ? PROP_EDITABLE : 0;
|
||||
return (lt->key == NULL) ? int(PROP_EDITABLE) : 0;
|
||||
}
|
||||
|
||||
static void rna_Lattice_points_u_set(PointerRNA *ptr, int value)
|
||||
|
@ -202,7 +201,7 @@ static void rna_Lattice_points_w_set(PointerRNA *ptr, int value)
|
|||
|
||||
static void rna_Lattice_vg_name_set(PointerRNA *ptr, const char *value)
|
||||
{
|
||||
Lattice *lt = ptr->data;
|
||||
Lattice *lt = static_cast<Lattice *>(ptr->data);
|
||||
STRNCPY(lt->vgroup, value);
|
||||
|
||||
if (lt->editlatt) {
|
|
@ -40,7 +40,7 @@ void RNA_api_lattice(StructRNA *srna)
|
|||
func = RNA_def_function(srna, "transform", "rna_Lattice_transform");
|
||||
RNA_def_function_ui_description(func, "Transform lattice by a matrix");
|
||||
parm = RNA_def_float_matrix(func, "matrix", 4, 4, NULL, 0.0f, 0.0f, "", "Matrix", 0.0f, 0.0f);
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
RNA_def_boolean(func, "shape_keys", 0, "", "Transform Shape Keys");
|
||||
|
||||
RNA_def_function(srna, "update_gpu_tag", "rna_Lattice_update_gpu_tag");
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
# include "WM_api.h"
|
||||
|
||||
static void rna_Mask_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Mask_update_data(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
Mask *mask = (Mask *)ptr->owner_id;
|
||||
|
||||
|
@ -55,7 +55,7 @@ static void rna_Mask_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), Poin
|
|||
|
||||
static void rna_Mask_update_parent(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||
{
|
||||
MaskParent *parent = ptr->data;
|
||||
MaskParent *parent = static_cast<MaskParent *>(ptr->data);
|
||||
|
||||
if (parent->id) {
|
||||
if (GS(parent->id->name) == ID_MC) {
|
||||
|
@ -108,11 +108,11 @@ static void rna_Mask_update_parent(Main *bmain, Scene *scene, PointerRNA *ptr)
|
|||
/* NOTE: this function exists only to avoid id reference-counting. */
|
||||
static void rna_MaskParent_id_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
MaskParent *mpar = (MaskParent *)ptr->data;
|
||||
|
||||
mpar->id = value.data;
|
||||
mpar->id = static_cast<ID *>(value.data);
|
||||
}
|
||||
|
||||
static StructRNA *rna_MaskParent_id_typef(PointerRNA *ptr)
|
||||
|
@ -186,7 +186,7 @@ static PointerRNA rna_Mask_layer_active_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_Mask_layer_active_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
Mask *mask = (Mask *)ptr->owner_id;
|
||||
MaskLayer *masklay = (MaskLayer *)value.data;
|
||||
|
@ -223,7 +223,7 @@ static PointerRNA rna_MaskLayer_active_spline_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_MaskLayer_active_spline_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
MaskLayer *masklay = (MaskLayer *)ptr->data;
|
||||
MaskSpline *spline = (MaskSpline *)value.data;
|
||||
|
@ -246,7 +246,7 @@ static PointerRNA rna_MaskLayer_active_spline_point_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_MaskLayer_active_spline_point_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
MaskLayer *masklay = (MaskLayer *)ptr->data;
|
||||
MaskSpline *spline;
|
||||
|
@ -254,7 +254,7 @@ static void rna_MaskLayer_active_spline_point_set(PointerRNA *ptr,
|
|||
|
||||
masklay->act_point = NULL;
|
||||
|
||||
for (spline = masklay->splines.first; spline; spline = spline->next) {
|
||||
for (spline = static_cast<MaskSpline *>(masklay->splines.first); spline; spline = spline->next) {
|
||||
if (point >= spline->points && point < spline->points + spline->tot_point) {
|
||||
masklay->act_point = point;
|
||||
|
||||
|
@ -316,9 +316,12 @@ static int rna_MaskSplinePoint_handle_type_get(PointerRNA *ptr)
|
|||
static MaskSpline *mask_spline_from_point(Mask *mask, MaskSplinePoint *point)
|
||||
{
|
||||
MaskLayer *mask_layer;
|
||||
for (mask_layer = mask->masklayers.first; mask_layer; mask_layer = mask_layer->next) {
|
||||
for (mask_layer = static_cast<MaskLayer *>(mask->masklayers.first); mask_layer;
|
||||
mask_layer = mask_layer->next)
|
||||
{
|
||||
MaskSpline *spline;
|
||||
for (spline = mask_layer->splines.first; spline; spline = spline->next) {
|
||||
for (spline = static_cast<MaskSpline *>(mask_layer->splines.first); spline;
|
||||
spline = spline->next) {
|
||||
if (point >= spline->points && point < spline->points + spline->tot_point) {
|
||||
return spline;
|
||||
}
|
||||
|
@ -399,7 +402,7 @@ static MaskLayer *rna_Mask_layers_new(Mask *mask, const char *name)
|
|||
|
||||
static void rna_Mask_layers_remove(Mask *mask, ReportList *reports, PointerRNA *masklay_ptr)
|
||||
{
|
||||
MaskLayer *masklay = masklay_ptr->data;
|
||||
MaskLayer *masklay = static_cast<MaskLayer *>(masklay_ptr->data);
|
||||
if (BLI_findindex(&mask->masklayers, masklay) == -1) {
|
||||
BKE_reportf(reports,
|
||||
RPT_ERROR,
|
||||
|
@ -440,7 +443,7 @@ static void rna_MaskLayer_spline_remove(ID *id,
|
|||
PointerRNA *spline_ptr)
|
||||
{
|
||||
Mask *mask = (Mask *)id;
|
||||
MaskSpline *spline = spline_ptr->data;
|
||||
MaskSpline *spline = static_cast<MaskSpline *>(spline_ptr->data);
|
||||
|
||||
if (BKE_mask_spline_remove(mask_layer, spline) == false) {
|
||||
BKE_reportf(
|
||||
|
@ -487,7 +490,7 @@ static void rna_MaskSpline_points_add(ID *id, MaskSpline *spline, int count)
|
|||
return;
|
||||
}
|
||||
|
||||
for (layer = mask->masklayers.first; layer; layer = layer->next) {
|
||||
for (layer = static_cast<MaskLayer *>(mask->masklayers.first); layer; layer = layer->next) {
|
||||
if (BLI_findindex(&layer->splines, spline) != -1) {
|
||||
break;
|
||||
}
|
||||
|
@ -503,8 +506,8 @@ static void rna_MaskSpline_points_add(ID *id, MaskSpline *spline, int count)
|
|||
active_point_index = layer->act_point - spline->points;
|
||||
}
|
||||
|
||||
spline->points = MEM_recallocN(spline->points,
|
||||
sizeof(MaskSplinePoint) * (spline->tot_point + count));
|
||||
spline->points = static_cast<MaskSplinePoint *>(
|
||||
MEM_recallocN(spline->points, sizeof(MaskSplinePoint) * (spline->tot_point + count)));
|
||||
spline->tot_point += count;
|
||||
|
||||
if (active_point_index >= 0) {
|
||||
|
@ -534,13 +537,13 @@ static void rna_MaskSpline_point_remove(ID *id,
|
|||
PointerRNA *point_ptr)
|
||||
{
|
||||
Mask *mask = (Mask *)id;
|
||||
MaskSplinePoint *point = point_ptr->data;
|
||||
MaskSplinePoint *point = static_cast<MaskSplinePoint *>(point_ptr->data);
|
||||
MaskSplinePoint *new_point_array;
|
||||
MaskLayer *layer;
|
||||
int active_point_index = -1;
|
||||
int point_index;
|
||||
|
||||
for (layer = mask->masklayers.first; layer; layer = layer->next) {
|
||||
for (layer = static_cast<MaskLayer *>(mask->masklayers.first); layer; layer = layer->next) {
|
||||
if (BLI_findindex(&layer->splines, spline) != -1) {
|
||||
break;
|
||||
}
|
||||
|
@ -563,8 +566,8 @@ static void rna_MaskSpline_point_remove(ID *id,
|
|||
|
||||
point_index = point - spline->points;
|
||||
|
||||
new_point_array = MEM_mallocN(sizeof(MaskSplinePoint) * (spline->tot_point - 1),
|
||||
"remove mask point");
|
||||
new_point_array = static_cast<MaskSplinePoint *>(
|
||||
MEM_mallocN(sizeof(MaskSplinePoint) * (spline->tot_point - 1), "remove mask point"));
|
||||
|
||||
memcpy(new_point_array, spline->points, sizeof(MaskSplinePoint) * point_index);
|
||||
memcpy(new_point_array + point_index,
|
||||
|
@ -809,7 +812,7 @@ static void rna_def_mask_splines(BlenderRNA *brna)
|
|||
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
||||
parm = RNA_def_pointer(func, "spline", "MaskSpline", "", "The spline to remove");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
|
||||
/* active spline */
|
||||
prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
|
||||
|
@ -847,7 +850,7 @@ static void rna_def_maskSplinePoints(BlenderRNA *brna)
|
|||
RNA_def_function_ui_description(func, "Add a number of point to this spline");
|
||||
parm = RNA_def_int(
|
||||
func, "count", 1, 0, INT_MAX, "Number", "Number of points to add to the spline", 0, INT_MAX);
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
|
||||
/* Remove the point */
|
||||
func = RNA_def_function(srna, "remove", "rna_MaskSpline_point_remove");
|
||||
|
@ -856,7 +859,7 @@ static void rna_def_maskSplinePoints(BlenderRNA *brna)
|
|||
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
||||
parm = RNA_def_pointer(func, "point", "MaskSplinePoint", "", "The point to remove");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
}
|
||||
|
||||
static void rna_def_maskSpline(BlenderRNA *brna)
|
||||
|
@ -1071,7 +1074,7 @@ static void rna_def_masklayers(BlenderRNA *brna, PropertyRNA *cprop)
|
|||
RNA_def_function_ui_description(func, "Remove layer from this mask");
|
||||
parm = RNA_def_pointer(func, "layer", "MaskLayer", "", "Shape to be removed");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
|
||||
/* clear all layers */
|
||||
func = RNA_def_function(srna, "clear", "rna_Mask_layers_clear");
|
|
@ -37,7 +37,7 @@
|
|||
# include "WM_api.h"
|
||||
# include "WM_types.h"
|
||||
|
||||
static int rna_Meta_texspace_editable(PointerRNA *ptr, const char **UNUSED(r_info))
|
||||
static int rna_Meta_texspace_editable(PointerRNA *ptr, const char ** /*r_info*/)
|
||||
{
|
||||
MetaBall *mb = (MetaBall *)ptr->data;
|
||||
return (mb->texspace_flag & MB_TEXSPACE_FLAG_AUTO) ? 0 : PROP_EDITABLE;
|
||||
|
@ -75,7 +75,7 @@ static void rna_Meta_texspace_size_set(PointerRNA *ptr, const float *values)
|
|||
copy_v3_v3(mb->texspace_size, values);
|
||||
}
|
||||
|
||||
static void rna_MetaBall_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_MetaBall_redraw_data(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->owner_id;
|
||||
|
||||
|
@ -83,7 +83,7 @@ static void rna_MetaBall_redraw_data(Main *UNUSED(bmain), Scene *UNUSED(scene),
|
|||
WM_main_add_notifier(NC_GEOM | ND_DATA, id);
|
||||
}
|
||||
|
||||
static void rna_MetaBall_update_data(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_MetaBall_update_data(Main *bmain, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
MetaBall *mb = (MetaBall *)ptr->owner_id;
|
||||
|
||||
|
@ -101,7 +101,7 @@ static void rna_MetaBall_update_data(Main *bmain, Scene *UNUSED(scene), PointerR
|
|||
|
||||
static void rna_MetaBall_update_rotation(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||
{
|
||||
MetaElem *ml = ptr->data;
|
||||
MetaElem *ml = static_cast<MetaElem *>(ptr->data);
|
||||
normalize_qt(ml->quat);
|
||||
rna_MetaBall_update_data(bmain, scene, ptr);
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ static MetaElem *rna_MetaBall_elements_new(MetaBall *mb, int type)
|
|||
|
||||
static void rna_MetaBall_elements_remove(MetaBall *mb, ReportList *reports, PointerRNA *ml_ptr)
|
||||
{
|
||||
MetaElem *ml = ml_ptr->data;
|
||||
MetaElem *ml = static_cast<MetaElem *>(ml_ptr->data);
|
||||
|
||||
if (BLI_remlink_safe(&mb->elems, ml) == false) {
|
||||
BKE_reportf(
|
||||
|
@ -159,7 +159,7 @@ static bool rna_Meta_is_editmode_get(PointerRNA *ptr)
|
|||
static char *rna_MetaElement_path(const PointerRNA *ptr)
|
||||
{
|
||||
const MetaBall *mb = (MetaBall *)ptr->owner_id;
|
||||
const MetaElem *ml = ptr->data;
|
||||
const MetaElem *ml = static_cast<MetaElem *>(ptr->data);
|
||||
int index = -1;
|
||||
|
||||
if (mb->editelems) {
|
||||
|
@ -294,7 +294,7 @@ static void rna_def_metaball_elements(BlenderRNA *brna, PropertyRNA *cprop)
|
|||
RNA_def_function_flag(func, FUNC_USE_REPORTS);
|
||||
parm = RNA_def_pointer(func, "element", "MetaElement", "", "The element to remove");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
|
||||
func = RNA_def_function(srna, "clear", "rna_MetaBall_elements_clear");
|
||||
RNA_def_function_ui_description(func, "Remove all elements from the metaball");
|
|
@ -83,7 +83,7 @@ const EnumPropertyItem rna_enum_color_sets_items[] = {
|
|||
|
||||
# include "RNA_access.h"
|
||||
|
||||
static void rna_Pose_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Pose_update(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
/* XXX when to use this? ob->pose->flag |= (POSE_LOCKED|POSE_DO_UNLOCK); */
|
||||
|
||||
|
@ -91,7 +91,7 @@ static void rna_Pose_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRN
|
|||
WM_main_add_notifier(NC_OBJECT | ND_POSE, ptr->owner_id);
|
||||
}
|
||||
|
||||
static void rna_Pose_dependency_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Pose_dependency_update(Main *bmain, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
DEG_relations_tag_update(bmain);
|
||||
|
||||
|
@ -99,7 +99,7 @@ static void rna_Pose_dependency_update(Main *bmain, Scene *UNUSED(scene), Pointe
|
|||
WM_main_add_notifier(NC_OBJECT | ND_POSE, ptr->owner_id);
|
||||
}
|
||||
|
||||
static void rna_Pose_IK_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Pose_IK_update(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
/* XXX when to use this? ob->pose->flag |= (POSE_LOCKED|POSE_DO_UNLOCK); */
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
|
@ -110,14 +110,14 @@ static void rna_Pose_IK_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Pointe
|
|||
BIK_clear_data(ob->pose);
|
||||
}
|
||||
|
||||
static char *rna_Pose_path(const PointerRNA *UNUSED(ptr))
|
||||
static char *rna_Pose_path(const PointerRNA * /*ptr*/)
|
||||
{
|
||||
return BLI_strdup("pose");
|
||||
}
|
||||
|
||||
static char *rna_PoseBone_path(const PointerRNA *ptr)
|
||||
{
|
||||
const bPoseChannel *pchan = ptr->data;
|
||||
const bPoseChannel *pchan = static_cast<const bPoseChannel *>(ptr->data);
|
||||
char name_esc[sizeof(pchan->name) * 2];
|
||||
|
||||
BLI_str_escape(name_esc, pchan->name, sizeof(name_esc));
|
||||
|
@ -153,7 +153,7 @@ static void rna_bone_group_remove(ID *id, bPose *pose, ReportList *reports, Poin
|
|||
return;
|
||||
}
|
||||
|
||||
bActionGroup *grp = grp_ptr->data;
|
||||
bActionGroup *grp = static_cast<bActionGroup *>(grp_ptr->data);
|
||||
const int grp_idx = BLI_findindex(&pose->agroups, grp);
|
||||
|
||||
if (grp_idx == -1) {
|
||||
|
@ -174,7 +174,7 @@ void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value)
|
|||
return;
|
||||
}
|
||||
|
||||
bActionGroup *grp = ptr->data;
|
||||
bActionGroup *grp = static_cast<bActionGroup *>(ptr->data);
|
||||
|
||||
/* ensure only valid values get set */
|
||||
if ((value >= -1) && (value < 21)) {
|
||||
|
@ -187,7 +187,7 @@ void rna_ActionGroup_colorset_set(PointerRNA *ptr, int value)
|
|||
|
||||
bool rna_ActionGroup_is_custom_colorset_get(PointerRNA *ptr)
|
||||
{
|
||||
bActionGroup *grp = ptr->data;
|
||||
bActionGroup *grp = static_cast<bActionGroup *>(ptr->data);
|
||||
|
||||
return (grp->customCol < 0);
|
||||
}
|
||||
|
@ -199,7 +199,7 @@ static void rna_BoneGroup_name_set(PointerRNA *ptr, const char *value)
|
|||
return;
|
||||
}
|
||||
|
||||
bActionGroup *agrp = ptr->data;
|
||||
bActionGroup *agrp = static_cast<bActionGroup *>(ptr->data);
|
||||
|
||||
/* copy the new name into the name slot */
|
||||
STRNCPY_UTF8(agrp->name, value);
|
||||
|
@ -214,7 +214,7 @@ static void rna_BoneGroup_name_set(PointerRNA *ptr, const char *value)
|
|||
|
||||
static IDProperty **rna_PoseBone_idprops(PointerRNA *ptr)
|
||||
{
|
||||
bPoseChannel *pchan = ptr->data;
|
||||
bPoseChannel *pchan = static_cast<bPoseChannel *>(ptr->data);
|
||||
return &pchan->prop;
|
||||
}
|
||||
|
||||
|
@ -234,10 +234,10 @@ static void rna_Pose_ik_solver_set(struct PointerRNA *ptr, int value)
|
|||
}
|
||||
}
|
||||
|
||||
static void rna_Pose_ik_solver_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Pose_ik_solver_update(Main *bmain, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
bPose *pose = ptr->data;
|
||||
bPose *pose = static_cast<bPose *>(ptr->data);
|
||||
|
||||
BKE_pose_tag_recalc(bmain, pose); /* checks & sorts pose channels */
|
||||
DEG_relations_tag_update(bmain);
|
||||
|
@ -252,7 +252,7 @@ static void rna_Pose_ik_solver_update(Main *bmain, Scene *UNUSED(scene), Pointer
|
|||
/* rotation - axis-angle */
|
||||
static void rna_PoseChannel_rotation_axis_angle_get(PointerRNA *ptr, float *value)
|
||||
{
|
||||
bPoseChannel *pchan = ptr->data;
|
||||
bPoseChannel *pchan = static_cast<bPoseChannel *>(ptr->data);
|
||||
|
||||
/* for now, assume that rotation mode is axis-angle */
|
||||
value[0] = pchan->rotAngle;
|
||||
|
@ -262,7 +262,7 @@ static void rna_PoseChannel_rotation_axis_angle_get(PointerRNA *ptr, float *valu
|
|||
/* rotation - axis-angle */
|
||||
static void rna_PoseChannel_rotation_axis_angle_set(PointerRNA *ptr, const float *value)
|
||||
{
|
||||
bPoseChannel *pchan = ptr->data;
|
||||
bPoseChannel *pchan = static_cast<bPoseChannel *>(ptr->data);
|
||||
|
||||
/* for now, assume that rotation mode is axis-angle */
|
||||
pchan->rotAngle = value[0];
|
||||
|
@ -273,7 +273,7 @@ static void rna_PoseChannel_rotation_axis_angle_set(PointerRNA *ptr, const float
|
|||
|
||||
static void rna_PoseChannel_rotation_mode_set(PointerRNA *ptr, int value)
|
||||
{
|
||||
bPoseChannel *pchan = ptr->data;
|
||||
bPoseChannel *pchan = static_cast<bPoseChannel *>(ptr->data);
|
||||
|
||||
/* use API Method for conversions... */
|
||||
BKE_rotMode_change_values(
|
||||
|
@ -285,7 +285,7 @@ static void rna_PoseChannel_rotation_mode_set(PointerRNA *ptr, int value)
|
|||
|
||||
static float rna_PoseChannel_length_get(PointerRNA *ptr)
|
||||
{
|
||||
bPoseChannel *pchan = ptr->data;
|
||||
bPoseChannel *pchan = static_cast<bPoseChannel *>(ptr->data);
|
||||
return len_v3v3(pchan->pose_head, pchan->pose_tail);
|
||||
}
|
||||
|
||||
|
@ -300,12 +300,12 @@ static void rna_PoseChannel_name_set(PointerRNA *ptr, const char *value)
|
|||
STRNCPY(oldname, pchan->name);
|
||||
|
||||
BLI_assert(BKE_id_is_in_global_main(&ob->id));
|
||||
BLI_assert(BKE_id_is_in_global_main(ob->data));
|
||||
ED_armature_bone_rename(G_MAIN, ob->data, oldname, newname);
|
||||
BLI_assert(BKE_id_is_in_global_main(static_cast<ID *>(ob->data)));
|
||||
ED_armature_bone_rename(G_MAIN, static_cast<bArmature *>(ob->data), oldname, newname);
|
||||
}
|
||||
|
||||
/* See rna_Bone_update_renamed() */
|
||||
static void rna_PoseChannel_name_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_PoseChannel_name_update(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
ID *id = ptr->owner_id;
|
||||
|
||||
|
@ -323,7 +323,7 @@ static PointerRNA rna_PoseChannel_bone_get(PointerRNA *ptr)
|
|||
PointerRNA tmp_ptr = *ptr;
|
||||
|
||||
/* Replace the id_data pointer with the Armature ID. */
|
||||
tmp_ptr.owner_id = ob->data;
|
||||
tmp_ptr.owner_id = static_cast<ID *>(ob->data);
|
||||
|
||||
return rna_pointer_inherit_refine(&tmp_ptr, &RNA_Bone, pchan->bone);
|
||||
}
|
||||
|
@ -366,10 +366,10 @@ static StructRNA *rna_Pose_ikparam_typef(PointerRNA *ptr)
|
|||
}
|
||||
}
|
||||
|
||||
static void rna_Itasc_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
static void rna_Itasc_update(Main * /*bmain*/, Scene * /*scene*/, PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
bItasc *itasc = ptr->data;
|
||||
bItasc *itasc = static_cast<bItasc *>(ptr->data);
|
||||
|
||||
/* verify values */
|
||||
if (itasc->precision < 0.0001f) {
|
||||
|
@ -415,7 +415,7 @@ static PointerRNA rna_PoseChannel_bone_group_get(PointerRNA *ptr)
|
|||
bActionGroup *grp;
|
||||
|
||||
if (pose) {
|
||||
grp = BLI_findlink(&pose->agroups, pchan->agrp_index - 1);
|
||||
grp = static_cast<bActionGroup *>(BLI_findlink(&pose->agroups, pchan->agrp_index - 1));
|
||||
}
|
||||
else {
|
||||
grp = NULL;
|
||||
|
@ -426,7 +426,7 @@ static PointerRNA rna_PoseChannel_bone_group_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_PoseChannel_bone_group_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
bPose *pose = (ob) ? ob->pose : NULL;
|
||||
|
@ -453,7 +453,7 @@ static void rna_PoseChannel_bone_group_index_set(PointerRNA *ptr, int value)
|
|||
}
|
||||
|
||||
static void rna_PoseChannel_bone_group_index_range(
|
||||
PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
|
||||
PointerRNA *ptr, int *min, int *max, int * /*softmin*/, int * /*softmax*/)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
bPose *pose = (ob) ? ob->pose : NULL;
|
||||
|
@ -471,7 +471,7 @@ static PointerRNA rna_Pose_active_bone_group_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_Pose_active_bone_group_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
bPose *pose = (bPose *)ptr->data;
|
||||
pose->active_group = BLI_findindex(&pose->agroups, value.data) + 1;
|
||||
|
@ -490,7 +490,7 @@ static void rna_Pose_active_bone_group_index_set(PointerRNA *ptr, int value)
|
|||
}
|
||||
|
||||
static void rna_Pose_active_bone_group_index_range(
|
||||
PointerRNA *ptr, int *min, int *max, int *UNUSED(softmin), int *UNUSED(softmax))
|
||||
PointerRNA *ptr, int *min, int *max, int * /*softmin*/, int * /*softmax*/)
|
||||
{
|
||||
bPose *pose = (bPose *)ptr->data;
|
||||
|
||||
|
@ -567,7 +567,7 @@ static PointerRNA rna_PoseChannel_active_constraint_get(PointerRNA *ptr)
|
|||
|
||||
static void rna_PoseChannel_active_constraint_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
|
||||
BKE_constraints_active_set(&pchan->constraints, (bConstraint *)value.data);
|
||||
|
@ -590,7 +590,7 @@ static bConstraint *rna_PoseChannel_constraints_new(ID *id,
|
|||
static void rna_PoseChannel_constraints_remove(
|
||||
ID *id, bPoseChannel *pchan, Main *bmain, ReportList *reports, PointerRNA *con_ptr)
|
||||
{
|
||||
bConstraint *con = con_ptr->data;
|
||||
bConstraint *con = static_cast<bConstraint *>(con_ptr->data);
|
||||
const bool is_ik = ELEM(con->type, CONSTRAINT_TYPE_KINEMATIC, CONSTRAINT_TYPE_SPLINEIK);
|
||||
Object *ob = (Object *)id;
|
||||
|
||||
|
@ -639,7 +639,7 @@ static bConstraint *rna_PoseChannel_constraints_copy(ID *id,
|
|||
PointerRNA *con_ptr)
|
||||
{
|
||||
Object *ob = (Object *)id;
|
||||
bConstraint *con = con_ptr->data;
|
||||
bConstraint *con = static_cast<bConstraint *>(con_ptr->data);
|
||||
bConstraint *new_con = BKE_constraint_copy_for_pose(ob, pchan, con);
|
||||
new_con->flag |= CONSTRAINT_OVERRIDE_LIBRARY_LOCAL;
|
||||
|
||||
|
@ -652,16 +652,16 @@ static bConstraint *rna_PoseChannel_constraints_copy(ID *id,
|
|||
bool rna_PoseChannel_constraints_override_apply(Main *bmain,
|
||||
PointerRNA *ptr_dst,
|
||||
PointerRNA *ptr_src,
|
||||
PointerRNA *UNUSED(ptr_storage),
|
||||
PointerRNA * /*ptr_storage*/,
|
||||
PropertyRNA *prop_dst,
|
||||
PropertyRNA *UNUSED(prop_src),
|
||||
PropertyRNA *UNUSED(prop_storage),
|
||||
const int UNUSED(len_dst),
|
||||
const int UNUSED(len_src),
|
||||
const int UNUSED(len_storage),
|
||||
PointerRNA *UNUSED(ptr_item_dst),
|
||||
PointerRNA *UNUSED(ptr_item_src),
|
||||
PointerRNA *UNUSED(ptr_item_storage),
|
||||
PropertyRNA * /*prop_src*/,
|
||||
PropertyRNA * /*prop_storage*/,
|
||||
const int /*len_dst*/,
|
||||
const int /*len_src*/,
|
||||
const int /*len_storage*/,
|
||||
PointerRNA * /*ptr_item_dst*/,
|
||||
PointerRNA * /*ptr_item_src*/,
|
||||
PointerRNA * /*ptr_item_storage*/,
|
||||
IDOverrideLibraryPropertyOperation *opop)
|
||||
{
|
||||
BLI_assert(opop->operation == LIBOVERRIDE_OP_INSERT_AFTER &&
|
||||
|
@ -674,14 +674,15 @@ bool rna_PoseChannel_constraints_override_apply(Main *bmain,
|
|||
* even if we insert several items in a row, we always insert first one, then second one, etc.
|
||||
* So we should always find 'anchor' constraint in both _src *and* _dst */
|
||||
const size_t name_offset = offsetof(bConstraint, name);
|
||||
bConstraint *con_anchor = BLI_listbase_string_or_index_find(&pchan_dst->constraints,
|
||||
opop->subitem_reference_name,
|
||||
name_offset,
|
||||
opop->subitem_reference_index);
|
||||
bConstraint *con_anchor = static_cast<bConstraint *>(
|
||||
BLI_listbase_string_or_index_find(&pchan_dst->constraints,
|
||||
opop->subitem_reference_name,
|
||||
name_offset,
|
||||
opop->subitem_reference_index));
|
||||
/* If `con_anchor` is NULL, `con_src` will be inserted in first position. */
|
||||
|
||||
bConstraint *con_src = BLI_listbase_string_or_index_find(
|
||||
&pchan_src->constraints, opop->subitem_local_name, name_offset, opop->subitem_local_index);
|
||||
bConstraint *con_src = static_cast<bConstraint *>(BLI_listbase_string_or_index_find(
|
||||
&pchan_src->constraints, opop->subitem_local_name, name_offset, opop->subitem_local_index));
|
||||
|
||||
if (con_src == NULL) {
|
||||
BLI_assert(con_src != NULL);
|
||||
|
@ -703,7 +704,7 @@ bool rna_PoseChannel_constraints_override_apply(Main *bmain,
|
|||
return true;
|
||||
}
|
||||
|
||||
static int rna_PoseChannel_proxy_editable(PointerRNA *UNUSED(ptr), const char **UNUSED(r_info))
|
||||
static int rna_PoseChannel_proxy_editable(PointerRNA * /*ptr*/, const char ** /*r_info*/)
|
||||
{
|
||||
# if 0
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
|
@ -853,12 +854,13 @@ static bPoseChannel *rna_PoseChannel_ensure_own_pchan(Object *ob,
|
|||
|
||||
static void rna_PoseChannel_custom_shape_transform_set(PointerRNA *ptr,
|
||||
PointerRNA value,
|
||||
struct ReportList *UNUSED(reports))
|
||||
struct ReportList * /*reports*/)
|
||||
{
|
||||
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
|
||||
pchan->custom_tx = rna_PoseChannel_ensure_own_pchan(ob, (Object *)value.owner_id, value.data);
|
||||
pchan->custom_tx = static_cast<bPoseChannel *>(rna_PoseChannel_ensure_own_pchan(
|
||||
ob, (Object *)value.owner_id, static_cast<bPoseChannel *>(value.data)));
|
||||
}
|
||||
|
||||
#else
|
||||
|
@ -962,7 +964,7 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
|
|||
/* constraint to add */
|
||||
parm = RNA_def_enum(
|
||||
func, "type", rna_enum_constraint_type_items, 1, "", "Constraint type to add");
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
|
||||
func = RNA_def_function(srna, "remove", "rna_PoseChannel_constraints_remove");
|
||||
RNA_def_function_ui_description(func, "Remove a constraint from this object");
|
||||
|
@ -971,16 +973,16 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
|
|||
/* constraint to remove */
|
||||
parm = RNA_def_pointer(func, "constraint", "Constraint", "", "Removed constraint");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
|
||||
func = RNA_def_function(srna, "move", "rna_PoseChannel_constraints_move");
|
||||
RNA_def_function_ui_description(func, "Move a constraint to a different position");
|
||||
RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_MAIN | FUNC_USE_REPORTS);
|
||||
parm = RNA_def_int(
|
||||
func, "from_index", -1, INT_MIN, INT_MAX, "From Index", "Index to move", 0, 10000);
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
parm = RNA_def_int(func, "to_index", -1, INT_MIN, INT_MAX, "To Index", "Target index", 0, 10000);
|
||||
RNA_def_parameter_flags(parm, 0, PARM_REQUIRED);
|
||||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
|
||||
func = RNA_def_function(srna, "copy", "rna_PoseChannel_constraints_copy");
|
||||
RNA_def_function_ui_description(func, "Add a new constraint that is a copy of the given one");
|
||||
|
@ -992,7 +994,7 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
|
|||
"",
|
||||
"Constraint to copy - may belong to a different object");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
/* return type */
|
||||
parm = RNA_def_pointer(func, "new_constraint", "Constraint", "", "New constraint");
|
||||
RNA_def_function_return(func, parm);
|
||||
|
@ -1645,7 +1647,7 @@ static void rna_def_bone_groups(BlenderRNA *brna, PropertyRNA *cprop)
|
|||
/* bone group to remove */
|
||||
parm = RNA_def_pointer(func, "group", "BoneGroup", "", "Removed bone group");
|
||||
RNA_def_parameter_flags(parm, PROP_NEVER_NULL, PARM_REQUIRED | PARM_RNAPTR);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, 0);
|
||||
RNA_def_parameter_clear_flags(parm, PROP_THICK_WRAP, ParameterFlag(0));
|
||||
|
||||
prop = RNA_def_property(srna, "active", PROP_POINTER, PROP_NONE);
|
||||
RNA_def_property_struct_type(prop, "BoneGroup");
|
|
@ -190,6 +190,8 @@ static BlendFileReadWMSetupData *wm_file_read_setup_wm_init(bContext *C,
|
|||
wmWindowManager *wm = static_cast<wmWindowManager *>(bmain->wm.first);
|
||||
BlendFileReadWMSetupData *wm_setup_data = MEM_cnew<BlendFileReadWMSetupData>(__func__);
|
||||
wm_setup_data->is_read_homefile = is_read_homefile;
|
||||
/* This info is not always known yet when this function is called. */
|
||||
wm_setup_data->is_factory_startup = false;
|
||||
|
||||
if (wm == nullptr) {
|
||||
return wm_setup_data;
|
||||
|
@ -404,10 +406,13 @@ static void wm_file_read_setup_wm_finalize(bContext *C,
|
|||
BLI_assert(wm_setup_data != nullptr);
|
||||
wmWindowManager *wm = static_cast<wmWindowManager *>(bmain->wm.first);
|
||||
|
||||
/* If reading home (startup) file, and there was no previous WM, clear the size of the windows in
|
||||
* newly read WM so that they get resized to occupy the whole available space on current monitor.
|
||||
/* If reading factory startup file, and there was no previous WM, clear the size of the windows
|
||||
* in newly read WM so that they get resized to occupy the whole available space on current
|
||||
* monitor.
|
||||
*/
|
||||
if (wm_setup_data->is_read_homefile && wm_setup_data->old_wm == nullptr) {
|
||||
if (wm_setup_data->is_read_homefile && wm_setup_data->is_factory_startup &&
|
||||
wm_setup_data->old_wm == nullptr)
|
||||
{
|
||||
wm_clear_default_size(C);
|
||||
}
|
||||
|
||||
|
@ -1352,6 +1357,7 @@ void wm_homefile_read_ex(bContext *C,
|
|||
BKE_reportf(reports, RPT_ERROR, "Could not read \"%s\"", filepath_startup_override);
|
||||
}
|
||||
|
||||
bool loaded_factory_settings = false;
|
||||
if (success == false) {
|
||||
BlendFileReadParams read_file_params{};
|
||||
read_file_params.is_startup = true;
|
||||
|
@ -1364,6 +1370,7 @@ void wm_homefile_read_ex(bContext *C,
|
|||
BKE_blendfile_read_setup_readfile(
|
||||
C, bfd, &read_file_params, wm_setup_data, &read_report, true, nullptr);
|
||||
success = true;
|
||||
loaded_factory_settings = true;
|
||||
bmain = CTX_data_main(C);
|
||||
}
|
||||
}
|
||||
|
@ -1418,6 +1425,7 @@ void wm_homefile_read_ex(bContext *C,
|
|||
if (use_data) {
|
||||
/* Finalize handling of WM, using the read WM and/or the current WM depending on things like
|
||||
* whether the UI is loaded from the .blend file or not, etc. */
|
||||
wm_setup_data->is_factory_startup = loaded_factory_settings;
|
||||
wm_file_read_setup_wm_finalize(C, bmain, wm_setup_data);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue