Merge branch 'master' into blender2.8
This commit is contained in:
commit
253dce07d7
|
@ -64,7 +64,7 @@ char *tcc_to_char(unsigned int tcc);
|
|||
|
||||
|
||||
|
||||
/* implemetation */
|
||||
/* implementation */
|
||||
|
||||
unsigned int GET_FCC(FILE *fp)
|
||||
{
|
||||
|
@ -286,7 +286,7 @@ bool AVI_is_avi(const char *name)
|
|||
fseek(movie.fp, movie.header->size - 14 * 4, SEEK_CUR);
|
||||
|
||||
/* Limit number of streams to some reasonable amount to prevent
|
||||
* buffer oveflow vulnerabilities. */
|
||||
* buffer overflow vulnerabilities. */
|
||||
if (movie.header->Streams < 1 || movie.header->Streams > 65536) {
|
||||
DEBUG_PRINT("Number of streams should be in range 1-65536\n");
|
||||
fclose(movie.fp);
|
||||
|
@ -489,7 +489,7 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
|
|||
fseek(movie->fp, movie->header->size - 14 * 4, SEEK_CUR);
|
||||
|
||||
/* Limit number of streams to some reasonable amount to prevent
|
||||
* buffer oveflow vulnerabilities. */
|
||||
* buffer overflow vulnerabilities. */
|
||||
if (movie->header->Streams < 1 || movie->header->Streams > 65536) {
|
||||
DEBUG_PRINT("Number of streams should be in range 1-65536\n");
|
||||
return AVI_ERROR_FORMAT;
|
||||
|
@ -687,7 +687,7 @@ AviError AVI_open_movie(const char *name, AviMovie *movie)
|
|||
movie->read_offset = 4;
|
||||
}
|
||||
|
||||
DEBUG_PRINT("movie succesfully opened\n");
|
||||
DEBUG_PRINT("movie successfully opened\n");
|
||||
return AVI_ERROR_NONE;
|
||||
}
|
||||
|
||||
|
@ -806,7 +806,7 @@ AviError AVI_open_compress(char *name, AviMovie *movie, int streams, ...)
|
|||
movie->header->Reserved[3] = 0;
|
||||
|
||||
/* Limit number of streams to some reasonable amount to prevent
|
||||
* buffer oveflow vulnerabilities. */
|
||||
* buffer overflow vulnerabilities. */
|
||||
if (movie->header->Streams < 0 || movie->header->Streams > 65536) {
|
||||
DEBUG_PRINT("Number of streams should be in range 0-65536\n");
|
||||
return AVI_ERROR_FORMAT;
|
||||
|
|
|
@ -70,7 +70,7 @@ void BKE_action_make_local(struct Main *bmain, struct bAction *act, const bool l
|
|||
/* Action API ----------------- */
|
||||
|
||||
/* types of transforms applied to the given item
|
||||
* - these are the return falgs for action_get_item_transforms()
|
||||
* - these are the return flags for action_get_item_transforms()
|
||||
*/
|
||||
typedef enum eAction_TransformFlags {
|
||||
/* location */
|
||||
|
|
|
@ -49,7 +49,7 @@ struct ListBase;
|
|||
typedef struct PoseTarget {
|
||||
struct PoseTarget *next, *prev;
|
||||
|
||||
struct bConstraint *con; /* the constrait of this target */
|
||||
struct bConstraint *con; /* the constraint of this target */
|
||||
int tip; /* index of tip pchan in PoseTree */
|
||||
} PoseTarget;
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "BLI_kdopbvh.h"
|
||||
|
||||
/**
|
||||
* This header encapsulates necessary code to buld a BVH
|
||||
* This header encapsulates necessary code to build a BVH
|
||||
*/
|
||||
|
||||
struct DerivedMesh;
|
||||
|
|
|
@ -477,7 +477,7 @@ typedef struct CustomDataTransferLayerMap {
|
|||
|
||||
size_t data_size; /* Size of actual data we transfer. */
|
||||
size_t data_offset; /* Offset of actual data we transfer (in element contained in data_src/dst). */
|
||||
uint64_t data_flag; /* For bitflag transfer, flag(s) to affect in transfered data. */
|
||||
uint64_t data_flag; /* For bitflag transfer, flag(s) to affect in transferred data. */
|
||||
|
||||
void *interp_data; /* Opaque pointer, to be used by specific interp callback (e.g. transformspace for normals). */
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ typedef struct PaintPoint {
|
|||
float color[4];
|
||||
} PaintPoint;
|
||||
|
||||
/* heigh field waves */
|
||||
/* height field waves */
|
||||
typedef struct PaintWavePoint {
|
||||
|
||||
float height;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
* \ingroup bke
|
||||
*
|
||||
* The \link edmesh EDBM module\endlink is for editmode bmesh stuff.
|
||||
* In contrast, the this module is for code shared with blenkernel thats
|
||||
* In contrast, this module is for code shared with blenkernel that's
|
||||
* only concerned with low level operations on the #BMEditMesh structure.
|
||||
*/
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ bool gpencil_layer_is_editable(const struct bGPDlayer *gpl);
|
|||
* is no existing GP-Frame on the frame requested.
|
||||
*/
|
||||
typedef enum eGP_GetFrame_Mode {
|
||||
/* Use the preceeding gp-frame (i.e. don't add anything) */
|
||||
/* Use the preceding gp-frame (i.e. don't add anything) */
|
||||
GP_GETFRAME_USE_PREV = 0,
|
||||
|
||||
/* Add a new empty/blank frame */
|
||||
|
|
|
@ -70,7 +70,7 @@ enum {
|
|||
|
||||
enum {
|
||||
IDWALK_RET_NOP = 0,
|
||||
IDWALK_RET_STOP_ITER = 1 << 0, /* Completly stop iteration. */
|
||||
IDWALK_RET_STOP_ITER = 1 << 0, /* Completely stop iteration. */
|
||||
IDWALK_RET_STOP_RECURSION = 1 << 1, /* Stop recursion, that is, do not loop over ID used by current one. */
|
||||
};
|
||||
|
||||
|
|
|
@ -310,7 +310,7 @@ void BKE_ptcache_update_info(PTCacheID *pid);
|
|||
/* Size of cache data type. */
|
||||
int BKE_ptcache_data_size(int data_type);
|
||||
|
||||
/* Is point with indes in memory cache */
|
||||
/* Is point with index in memory cache */
|
||||
int BKE_ptcache_mem_index_find(struct PTCacheMem *pm, unsigned int index);
|
||||
|
||||
/* Memory cache read/write helpers. */
|
||||
|
|
|
@ -51,7 +51,7 @@ double bUnit_BaseScalar(int system, int type);
|
|||
/* return true is the unit system exists */
|
||||
bool bUnit_IsValid(int system, int type);
|
||||
|
||||
/* loop over scales, coudl add names later */
|
||||
/* loop over scales, could add names later */
|
||||
//double bUnit_Iter(void **unit, char **name, int system, int type);
|
||||
|
||||
void bUnit_GetSystem(int system, int type, void const **r_usys_pt, int *r_len);
|
||||
|
|
|
@ -229,7 +229,7 @@ struct CCGSubSurf {
|
|||
*/
|
||||
bool osd_coarse_coords_invalid;
|
||||
|
||||
/* GL mesh descriptor, used for refinment and draw. */
|
||||
/* GL mesh descriptor, used for refinement and draw. */
|
||||
struct OpenSubdiv_GLMesh *osd_mesh;
|
||||
/* Refiner which is used to create GL mesh.
|
||||
*
|
||||
|
|
|
@ -557,7 +557,7 @@ void DM_update_tessface_data(DerivedMesh *dm)
|
|||
int *polyindex = CustomData_get_layer(fdata, CD_ORIGINDEX);
|
||||
unsigned int (*loopindex)[4];
|
||||
|
||||
/* Should never occure, but better abort than segfault! */
|
||||
/* Should never occur, but better abort than segfault! */
|
||||
if (!polyindex)
|
||||
return;
|
||||
|
||||
|
@ -619,7 +619,7 @@ void DM_generate_tangent_tessface_data(DerivedMesh *dm, bool generate)
|
|||
int *polyindex = CustomData_get_layer(fdata, CD_ORIGINDEX);
|
||||
unsigned int (*loopindex)[4] = NULL;
|
||||
|
||||
/* Should never occure, but better abort than segfault! */
|
||||
/* Should never occur, but better abort than segfault! */
|
||||
if (!polyindex)
|
||||
return;
|
||||
|
||||
|
@ -3517,7 +3517,7 @@ static void mesh_init_origspace(Mesh *mesh)
|
|||
scale[1] = 1e-9f;
|
||||
invert_v2(scale);
|
||||
|
||||
/* Finally, transform all vcos_2d into ((0, 0), (1, 1)) square and assing them as origspace. */
|
||||
/* Finally, transform all vcos_2d into ((0, 0), (1, 1)) square and assign them as origspace. */
|
||||
for (j = 0; j < mp->totloop; j++, lof++) {
|
||||
add_v2_v2v2(lof->uv, vcos_2d[j], translate);
|
||||
mul_v2_v2(lof->uv, scale);
|
||||
|
@ -3544,7 +3544,7 @@ static void dm_debug_info_layers(
|
|||
|
||||
for (type = 0; type < CD_NUMTYPES; type++) {
|
||||
if (CustomData_has_layer(cd, type)) {
|
||||
/* note: doesnt account for multiple layers */
|
||||
/* note: doesn't account for multiple layers */
|
||||
const char *name = CustomData_layertype_name(type);
|
||||
const int size = CustomData_sizeof(type);
|
||||
const void *pt = getElemDataArray(dm, type);
|
||||
|
|
|
@ -199,7 +199,7 @@ void set_active_action_group(bAction *act, bActionGroup *agrp, short select)
|
|||
if (act == NULL)
|
||||
return;
|
||||
|
||||
/* Deactive all others */
|
||||
/* Deactivate all others */
|
||||
for (grp = act->groups.first; grp; grp = grp->next) {
|
||||
if ((grp == agrp) && (select))
|
||||
grp->flag |= AGRP_ACTIVE;
|
||||
|
|
|
@ -728,7 +728,7 @@ int where_on_path(Object *ob, float ctime, float vec[4], float dir[3], float qua
|
|||
s1 = (int)floor(ctime);
|
||||
fac = (float)(s1 + 1) - ctime;
|
||||
|
||||
/* path->len is corected for cyclic */
|
||||
/* path->len is corrected for cyclic */
|
||||
s0 = interval_test(0, path->len - 1 - cycl, s1 - 1, cycl);
|
||||
s1 = interval_test(0, path->len - 1 - cycl, s1, cycl);
|
||||
s2 = interval_test(0, path->len - 1 - cycl, s1 + 1, cycl);
|
||||
|
|
|
@ -1284,7 +1284,7 @@ void boid_body(BoidBrainData *bbd, ParticleData *pa)
|
|||
/* integrate new location & velocity */
|
||||
|
||||
/* by regarding the acceleration as a force at this stage we*/
|
||||
/* can get better control allthough it's a bit unphysical */
|
||||
/* can get better control although it's a bit unphysical */
|
||||
mul_v3_fl(acc, 1.0f/pa_mass);
|
||||
|
||||
copy_v3_v3(dvec, acc);
|
||||
|
|
|
@ -1360,7 +1360,7 @@ unsigned int *BKE_brush_gen_texture_cache(Brush *br, int half_side, bool use_sec
|
|||
|
||||
texcache = MEM_callocN(sizeof(int) * side * side, "Brush texture cache");
|
||||
|
||||
/* do normalized cannonical view coords for texture */
|
||||
/* do normalized canonical view coords for texture */
|
||||
for (y = -1.0, iy = 0; iy < side; iy++, y += step) {
|
||||
for (x = -1.0, ix = 0; ix < side; ix++, x += step) {
|
||||
co[0] = x;
|
||||
|
@ -1368,7 +1368,7 @@ unsigned int *BKE_brush_gen_texture_cache(Brush *br, int half_side, bool use_sec
|
|||
co[2] = 0.0f;
|
||||
|
||||
/* This is copied from displace modifier code */
|
||||
/* TODO(sergey): brush are always cacheing with CM enabled for now. */
|
||||
/* TODO(sergey): brush are always caching with CM enabled for now. */
|
||||
externtex(mtex, co, &intensity,
|
||||
rgba, rgba + 1, rgba + 2, rgba + 3, 0, NULL, false, false);
|
||||
|
||||
|
|
|
@ -1675,7 +1675,7 @@ static int cloth_build_springs ( ClothModifierData *clmd, Mesh *mesh )
|
|||
}
|
||||
else {
|
||||
/* bending springs for hair strands */
|
||||
/* The current algorightm only goes through the edges in order of the mesh edges list */
|
||||
/* The current algorithm only goes through the edges in order of the mesh edges list */
|
||||
/* and makes springs between the outer vert of edges sharing a vertice. This works just */
|
||||
/* fine for hair, but not for user generated string meshes. This could/should be later */
|
||||
/* extended to work with non-ordered edges so that it can be used for general "rope */
|
||||
|
|
|
@ -2571,7 +2571,7 @@ static void locktrack_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *t
|
|||
unit_m3(totmat);
|
||||
}
|
||||
|
||||
/* apply out transformaton to the object */
|
||||
/* apply out transformation to the object */
|
||||
mul_m4_m3m4(cob->matrix, totmat, cob->matrix);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -217,7 +217,7 @@ void CTX_store_free_list(ListBase *contexts)
|
|||
}
|
||||
}
|
||||
|
||||
/* is python initialied? */
|
||||
/* is python initialized? */
|
||||
|
||||
int CTX_py_init_get(bContext *C)
|
||||
{
|
||||
|
|
|
@ -2080,7 +2080,7 @@ static bool bevelinside(BevList *bl1, BevList *bl2)
|
|||
copy_v3_v3(hvec2, hvec1);
|
||||
hvec2[0] += 1000;
|
||||
|
||||
/* test it with all edges of potential surounding poly */
|
||||
/* test it with all edges of potential surrounding poly */
|
||||
/* count number of transitions left-right */
|
||||
|
||||
bevp = bl1->bevpoints;
|
||||
|
@ -2643,7 +2643,7 @@ static void make_bevel_list_segment_2D(BevList *bl)
|
|||
static void make_bevel_list_2D(BevList *bl)
|
||||
{
|
||||
/* note: bevp->dir and bevp->quat are not needed for beveling but are
|
||||
* used when making a path from a 2D curve, therefor they need to be set - Campbell */
|
||||
* used when making a path from a 2D curve, therefore they need to be set - Campbell */
|
||||
|
||||
BevPoint *bevp0, *bevp1, *bevp2;
|
||||
int nr;
|
||||
|
@ -3941,7 +3941,7 @@ static void bezier_handle_calc_smooth_fcurve(BezTriple *bezt, int total, int sta
|
|||
float first_handle_adj = 0.0f, last_handle_adj = 0.0f;
|
||||
|
||||
if (full_cycle) {
|
||||
/* reduce the number of uknowns by one */
|
||||
/* reduce the number of unknowns by one */
|
||||
int i = solve_count = count - 1;
|
||||
|
||||
dx[0] = dx[i];
|
||||
|
|
|
@ -2874,7 +2874,7 @@ void CustomData_bmesh_copy_data(const CustomData *source, CustomData *dest,
|
|||
}
|
||||
}
|
||||
|
||||
/*Bmesh Custom Data Functions. Should replace editmesh ones with these as well, due to more effecient memory alloc*/
|
||||
/*Bmesh Custom Data Functions. Should replace editmesh ones with these as well, due to more efficient memory alloc*/
|
||||
void *CustomData_bmesh_get(const CustomData *data, void *block, int type)
|
||||
{
|
||||
int layer_index;
|
||||
|
|
|
@ -824,7 +824,7 @@ static bool data_transfer_layersmapping_generate(
|
|||
return ret;
|
||||
}
|
||||
else if (cddata_type == CD_FAKE_SHAPEKEY) {
|
||||
/* TODO: leaving shapekeys asside for now, quite specific case, since we can't access them from MVert :/ */
|
||||
/* TODO: leaving shapekeys aside for now, quite specific case, since we can't access them from MVert :/ */
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -754,7 +754,7 @@ static void surfaceGenerateGrid(struct DynamicPaintSurface *surface)
|
|||
error = 1;
|
||||
|
||||
if (!error) {
|
||||
/* calculate number of points withing each cell */
|
||||
/* calculate number of points within each cell */
|
||||
{
|
||||
ParallelRangeSettings settings;
|
||||
BLI_parallel_range_settings_defaults(&settings);
|
||||
|
@ -1965,7 +1965,7 @@ static Mesh *dynamicPaint_Modifier_apply(
|
|||
//DM_update_weight_mcol(ob, result, 0, weight, 0, NULL);
|
||||
}
|
||||
|
||||
/* apply weights into a vertex group, if doesnt exists add a new layer */
|
||||
/* apply weights into a vertex group, if doesn't exists add a new layer */
|
||||
if (defgrp_index != -1 && !dvert && (surface->output_name[0] != '\0')) {
|
||||
dvert = CustomData_add_layer(&result->vdata, CD_MDEFORMVERT, CD_CALLOC,
|
||||
NULL, sData->total_points);
|
||||
|
@ -3203,7 +3203,7 @@ void dynamicPaint_outputSurfaceImage(DynamicPaintSurface *surface, char *filenam
|
|||
setError(surface->canvas, N_("Image save failed: invalid surface"));
|
||||
return;
|
||||
}
|
||||
/* if selected format is openexr, but current build doesnt support one */
|
||||
/* if selected format is openexr, but current build doesn't support one */
|
||||
#ifndef WITH_OPENEXR
|
||||
if (format == R_IMF_IMTYPE_OPENEXR)
|
||||
format = R_IMF_IMTYPE_PNG;
|
||||
|
@ -3411,7 +3411,7 @@ static void dynamicPaint_mixPaintColors(
|
|||
|
||||
/* mix wetness and alpha depending on selected alpha mode */
|
||||
if (paintFlags & MOD_DPAINT_ABS_ALPHA) {
|
||||
/* update values to the brush level unless theyre higher already */
|
||||
/* update values to the brush level unless they're higher already */
|
||||
CLAMP_MIN(pPoint->e_color[3], paintAlpha);
|
||||
CLAMP_MIN(pPoint->wetness, paintWetness);
|
||||
}
|
||||
|
@ -5436,7 +5436,7 @@ static void dynamic_paint_wave_step_cb(
|
|||
}
|
||||
|
||||
if (data->reset_wave) {
|
||||
/* if there wasnt any brush intersection, clear isect height */
|
||||
/* if there wasn't any brush intersection, clear isect height */
|
||||
if (wPoint->state == DPAINT_WAVE_NONE) {
|
||||
wPoint->brush_isect = 0.0f;
|
||||
}
|
||||
|
@ -5562,7 +5562,7 @@ static void dynamic_paint_surface_pre_step_cb(
|
|||
/* now calculate new alpha for dry layer that keeps final blended color unchanged */
|
||||
pPoint->color[3] = (f_color[3] - pPoint->e_color[3]) / (1.0f - pPoint->e_color[3]);
|
||||
/* for each rgb component, calculate a new dry layer color that keeps the final blend color
|
||||
* with these new alpha values. (wet layer color doesnt change)*/
|
||||
* with these new alpha values. (wet layer color doesn't change)*/
|
||||
if (pPoint->color[3]) {
|
||||
for (i = 0; i < 3; i++) {
|
||||
pPoint->color[i] = (f_color[i] * f_color[3] - pPoint->e_color[i] * pPoint->e_color[3]) /
|
||||
|
|
|
@ -1284,7 +1284,7 @@ bool list_has_suitable_fmodifier(ListBase *modifiers, int mtype, short acttype)
|
|||
const FModifierTypeInfo *fmi = fmodifier_get_typeinfo(fcm);
|
||||
short mOk = 1, aOk = 1; /* by default 1, so that when only one test, won't fail */
|
||||
|
||||
/* check if applicable ones are fullfilled */
|
||||
/* check if applicable ones are fulfilled */
|
||||
if (mtype)
|
||||
mOk = (fcm->type == mtype);
|
||||
if (acttype > -1)
|
||||
|
|
|
@ -605,7 +605,7 @@ void BKE_vfont_select_clamp(Object *ob)
|
|||
|
||||
static float char_width(Curve *cu, VChar *che, CharInfo *info)
|
||||
{
|
||||
/* The character wasn't found, propably ascii = 0, then the width shall be 0 as well */
|
||||
/* The character wasn't found, probably ascii = 0, then the width shall be 0 as well */
|
||||
if (che == NULL) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
|
|
@ -2813,7 +2813,7 @@ static RenderPass *image_render_pass_get(RenderLayer *rl, const int pass, const
|
|||
}
|
||||
|
||||
/* if layer or pass changes, we need an index for the imbufs list */
|
||||
/* note it is called for rendered results, but it doesnt use the index! */
|
||||
/* note it is called for rendered results, but it doesn't use the index! */
|
||||
/* and because rendered results use fake layer/passes, don't correct for wrong indices here */
|
||||
RenderPass *BKE_image_multilayer_index(RenderResult *rr, ImageUser *iuser)
|
||||
{
|
||||
|
@ -2865,7 +2865,7 @@ void BKE_image_multiview_index(Image *ima, ImageUser *iuser)
|
|||
}
|
||||
|
||||
/* if layer or pass changes, we need an index for the imbufs list */
|
||||
/* note it is called for rendered results, but it doesnt use the index! */
|
||||
/* note it is called for rendered results, but it doesn't use the index! */
|
||||
/* and because rendered results use fake layer/passes, don't correct for wrong indices here */
|
||||
bool BKE_image_is_multilayer(Image *ima)
|
||||
{
|
||||
|
@ -3707,7 +3707,7 @@ static ImBuf *image_get_render_result(Image *ima, ImageUser *iuser, void **r_loc
|
|||
*
|
||||
* This is mainly to make it so color management treats byte buffer
|
||||
* from render result with Save Buffers enabled as final display buffer
|
||||
* and doesnt' apply any color management on it.
|
||||
* and doesn't apply any color management on it.
|
||||
*
|
||||
* For other cases we need to be sure it stays to default byte buffer space.
|
||||
*/
|
||||
|
|
|
@ -488,7 +488,7 @@ static const char *texture_adrcodes_to_paths(int adrcode, int *array_index)
|
|||
case TE_BRIGHT:
|
||||
return "brightness";
|
||||
case TE_CONTRA:
|
||||
return "constrast";
|
||||
return "contrast";
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
|
|
@ -289,7 +289,7 @@ static int id_expand_local_callback(
|
|||
return IDWALK_RET_NOP;
|
||||
}
|
||||
|
||||
/* Can hapen that we get unlinkable ID here, e.g. with shapekey referring to itself (through drivers)...
|
||||
/* Can happen that we get unlinkable ID here, e.g. with shapekey referring to itself (through drivers)...
|
||||
* Just skip it, shape key can only be either indirectly linked, or fully local, period.
|
||||
* And let's curse one more time that stupid useless shapekey ID type! */
|
||||
if (*id_pointer && *id_pointer != id_self && BKE_idcode_is_linkable(GS((*id_pointer)->name))) {
|
||||
|
|
|
@ -436,7 +436,7 @@ ATTR_NONNULL(1) static void libblock_remap_data(
|
|||
}
|
||||
|
||||
#ifdef DEBUG_PRINT
|
||||
printf("%s: %d occurences skipped (%d direct and %d indirect ones)\n", __func__,
|
||||
printf("%s: %d occurrences skipped (%d direct and %d indirect ones)\n", __func__,
|
||||
r_id_remap_data->skipped_direct + r_id_remap_data->skipped_indirect,
|
||||
r_id_remap_data->skipped_direct, r_id_remap_data->skipped_indirect);
|
||||
#endif
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
* - free the handle.
|
||||
*
|
||||
* This file is admittedly a bit confusticated, in quite few areas speed was chosen over readability,
|
||||
* though it is commented - so shouldn't be so hard to see whats going on.
|
||||
* though it is commented - so shouldn't be so hard to see what's going on.
|
||||
*
|
||||
*
|
||||
* Implementation:
|
||||
|
|
|
@ -154,7 +154,7 @@ static int customdata_compare(CustomData *c1, CustomData *c2, Mesh *m1, Mesh *m2
|
|||
for (j = 0; j < vtot; j++, v1++, v2++) {
|
||||
if (len_squared_v3v3(v1->co, v2->co) > thresh_sq)
|
||||
return MESHCMP_VERTCOMISMATCH;
|
||||
/* I don't care about normals, let's just do coodinates */
|
||||
/* I don't care about normals, let's just do coordinates */
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ static void make_edges_mdata_extend(
|
|||
totedge_new = BLI_edgehash_len(eh);
|
||||
|
||||
#ifdef DEBUG
|
||||
/* ensure that theres no overlap! */
|
||||
/* ensure that there's no overlap! */
|
||||
if (totedge_new) {
|
||||
MEdge *medge = *r_alledge;
|
||||
for (i = 0; i < totedge; i++, medge++) {
|
||||
|
|
|
@ -2304,7 +2304,7 @@ bool BKE_mesh_center_of_volume(const Mesh *me, float r_cent[3])
|
|||
}
|
||||
/* otherwise we get NAN for 0 polys */
|
||||
if (total_volume != 0.0f) {
|
||||
/* multipy by 0.25 to get the correct centroid */
|
||||
/* multiply by 0.25 to get the correct centroid */
|
||||
/* no need to divide volume by 6 as the centroid is weighted by 6x the volume, so it all cancels out */
|
||||
mul_v3_fl(r_cent, 0.25f / total_volume);
|
||||
}
|
||||
|
|
|
@ -1109,7 +1109,7 @@ bool BKE_mesh_calc_islands_loop_poly_edgeseam(
|
|||
*
|
||||
* \note If no MLoopUV layer is passed, we only consider edges tagged as seams as UV boundaries.
|
||||
* This has the advantages of simplicity, and being valid/common to all UV maps.
|
||||
* However, it means actual UV islands whithout matching UV seams will not be handled correctly...
|
||||
* However, it means actual UV islands without matching UV seams will not be handled correctly...
|
||||
* If a valid UV layer is passed as \a luvs parameter, UV coordinates are also used to detect islands boundaries.
|
||||
*
|
||||
* \note All this could be optimized...
|
||||
|
|
|
@ -281,7 +281,7 @@ void BKE_mesh_remap_find_best_match_from_mesh(
|
|||
best_match = match;
|
||||
copy_m4_m4(best_mat_dst, mat_dst);
|
||||
|
||||
/* And now, we have to check the otehr sixth possible mirrored versions... */
|
||||
/* And now, we have to check the other sixth possible mirrored versions... */
|
||||
for (mirr = mirrors; (*mirr)[0]; mirr++) {
|
||||
mul_v3_fl(mat_dst[0], (*mirr)[0]);
|
||||
mul_v3_fl(mat_dst[1], (*mirr)[1]);
|
||||
|
|
|
@ -362,7 +362,7 @@ bool BKE_mesh_validate_arrays(
|
|||
SortFace *sf_prev;
|
||||
unsigned int totsortface = 0;
|
||||
|
||||
PRINT_ERR("No Polys, only tesselated Faces\n");
|
||||
PRINT_ERR("No Polys, only tessellated Faces\n");
|
||||
|
||||
for (i = 0, mf = mfaces, sf = sort_faces; i < totface; i++, mf++) {
|
||||
bool remove = false;
|
||||
|
|
|
@ -297,7 +297,7 @@ void modifier_copyData_generic(const ModifierData *md_src, ModifierData *md_dst,
|
|||
{
|
||||
const ModifierTypeInfo *mti = modifierType_getInfo(md_src->type);
|
||||
|
||||
/* md_dst may have alredy be fully initialized with some extra allocated data,
|
||||
/* md_dst may have already be fully initialized with some extra allocated data,
|
||||
* we need to free it now to avoid memleak. */
|
||||
if (mti->freeData) {
|
||||
mti->freeData(md_dst);
|
||||
|
@ -778,7 +778,7 @@ void test_object_modifiers(Object *ob)
|
|||
}
|
||||
}
|
||||
|
||||
/* where should this go?, it doesnt fit well anywhere :S - campbell */
|
||||
/* where should this go?, it doesn't fit well anywhere :S - campbell */
|
||||
|
||||
/* elubie: changed this to default to the same dir as the render output
|
||||
* to prevent saving to C:\ on Windows */
|
||||
|
|
|
@ -1008,7 +1008,7 @@ void BKE_nlatrack_set_active(ListBase *tracks, NlaTrack *nlt_a)
|
|||
if (ELEM(NULL, tracks, tracks->first))
|
||||
return;
|
||||
|
||||
/* deactive all the rest */
|
||||
/* deactivate all the rest */
|
||||
for (nlt = tracks->first; nlt; nlt = nlt->next)
|
||||
nlt->flag &= ~NLATRACK_ACTIVE;
|
||||
|
||||
|
@ -1180,7 +1180,7 @@ static void nlastrip_fix_resize_overlaps(NlaStrip *strip)
|
|||
float offset = 0.0f;
|
||||
|
||||
if (nls->type == NLASTRIP_TYPE_TRANSITION) {
|
||||
/* transition strips should grow/shrink to accomodate the resized strip,
|
||||
/* transition strips should grow/shrink to accommodate the resized strip,
|
||||
* but if the strip's bounds now exceed the transition, we're forced to
|
||||
* offset everything to maintain the balance
|
||||
*/
|
||||
|
@ -1227,7 +1227,7 @@ static void nlastrip_fix_resize_overlaps(NlaStrip *strip)
|
|||
float offset = 0.0f;
|
||||
|
||||
if (nls->type == NLASTRIP_TYPE_TRANSITION) {
|
||||
/* transition strips should grow/shrink to accomodate the resized strip,
|
||||
/* transition strips should grow/shrink to accommodate the resized strip,
|
||||
* but if the strip's bounds now exceed the transition, we're forced to
|
||||
* offset everything to maintain the balance
|
||||
*/
|
||||
|
@ -1297,7 +1297,7 @@ void BKE_nlastrip_recalculate_bounds(NlaStrip *strip)
|
|||
}
|
||||
|
||||
/* Is the given NLA-strip the first one to occur for the given AnimData block */
|
||||
// TODO: make this an api method if necesary, but need to add prefix first
|
||||
// TODO: make this an api method if necessary, but need to add prefix first
|
||||
static bool nlastrip_is_first(AnimData *adt, NlaStrip *strip)
|
||||
{
|
||||
NlaTrack *nlt;
|
||||
|
@ -1809,7 +1809,7 @@ void BKE_nla_action_pushdown(AnimData *adt)
|
|||
* NOTE: An alternative way would have been to instead hack the influence
|
||||
* to not get always get reset to full strength if NLASTRIP_FLAG_USR_INFLUENCE
|
||||
* is disabled but auto-blending isn't being used. However, that approach
|
||||
* is a bit hacky/hard to discover, and may cause backwards compatability issues,
|
||||
* is a bit hacky/hard to discover, and may cause backwards compatibility issues,
|
||||
* so it's better to just do it this way.
|
||||
*/
|
||||
strip->flag |= NLASTRIP_FLAG_USR_INFLUENCE;
|
||||
|
|
|
@ -2095,7 +2095,7 @@ bNodeTree *ntreeLocalize(bNodeTree *ntree)
|
|||
|
||||
/* sync local composite with real tree */
|
||||
/* local tree is supposed to be running, be careful moving previews! */
|
||||
/* is called by jobs manager, outside threads, so it doesnt happen during draw */
|
||||
/* is called by jobs manager, outside threads, so it doesn't happen during draw */
|
||||
void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
|
||||
{
|
||||
if (localtree && ntree) {
|
||||
|
|
|
@ -1940,7 +1940,7 @@ static void ob_parbone(Object *ob, Object *par, float mat[4][4])
|
|||
|
||||
/* get bone transform */
|
||||
if (pchan->bone->flag & BONE_RELATIVE_PARENTING) {
|
||||
/* the new option uses the root - expected bahaviour, but differs from old... */
|
||||
/* the new option uses the root - expected behaviour, but differs from old... */
|
||||
/* XXX check on version patching? */
|
||||
copy_m4_m4(mat, pchan->chan_mat);
|
||||
}
|
||||
|
@ -3312,7 +3312,7 @@ int BKE_object_is_modified(Scene *scene, Object *ob)
|
|||
* This makes it possible to give some degree of false-positives here,
|
||||
* but it's currently an acceptable tradeoff between complexity and check
|
||||
* speed. In combination with checks of modifier stack and real life usage
|
||||
* percentage of false-positives shouldn't be that hight.
|
||||
* percentage of false-positives shouldn't be that height.
|
||||
*/
|
||||
static bool object_moves_in_time(Object *object)
|
||||
{
|
||||
|
|
|
@ -243,7 +243,7 @@ static void make_child_duplis(const DupliContext *ctx, void *userdata, MakeChild
|
|||
|
||||
/* mballs have a different dupli handling */
|
||||
if (ob->type != OB_MBALL) {
|
||||
ob->flag |= OB_DONE; /* doesnt render */
|
||||
ob->flag |= OB_DONE; /* doesn't render */
|
||||
}
|
||||
make_child_duplis_cb(&pctx, userdata, ob);
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ static void make_child_duplis(const DupliContext *ctx, void *userdata, MakeChild
|
|||
|
||||
/* mballs have a different dupli handling */
|
||||
if (ob->type != OB_MBALL)
|
||||
ob->flag |= OB_DONE; /* doesnt render */
|
||||
ob->flag |= OB_DONE; /* doesn't render */
|
||||
|
||||
make_child_duplis_cb(&pctx, userdata, ob);
|
||||
}
|
||||
|
|
|
@ -268,7 +268,7 @@ void packAll(Main *bmain, ReportList *reports, bool verbose)
|
|||
#if 0
|
||||
|
||||
// attempt to create a function that generates an unique filename
|
||||
// this will work when all funtions in fileops.c understand relative filenames...
|
||||
// this will work when all functions in fileops.c understand relative filenames...
|
||||
|
||||
static char *find_new_name(char *name)
|
||||
{
|
||||
|
@ -362,7 +362,7 @@ int writePackedFile(
|
|||
*
|
||||
* - PF_EQUAL: the packed file and original file are identical
|
||||
* - PF_DIFFERENT: the packed file and original file differ
|
||||
* - PF_NOFILE: the original file doens't exist
|
||||
* - PF_NOFILE: the original file doesn't exist
|
||||
*/
|
||||
int checkPackedFile(const char *ref_file_name, const char *filename, PackedFile *pf)
|
||||
{
|
||||
|
|
|
@ -1614,7 +1614,7 @@ static void sph_density_accum_cb(void *userdata, int index, const float co[3], f
|
|||
|
||||
/* Ugh! One particle has too many neighbors! If some aren't taken into
|
||||
* account, the forces will be biased by the tree search order. This
|
||||
* effectively adds enery to the system, and results in a churning motion.
|
||||
* effectively adds energy to the system, and results in a churning motion.
|
||||
* But, we have to stop somewhere, and it's not the end of the world.
|
||||
* - jahka and z0r
|
||||
*/
|
||||
|
@ -4348,7 +4348,7 @@ void particle_system_update(struct Depsgraph *depsgraph, Scene *scene, Object *o
|
|||
pa->flag &= ~PARS_NO_DISP;
|
||||
}
|
||||
|
||||
/* free unexisting after reseting particles */
|
||||
/* free unexisting after resetting particles */
|
||||
if (free_unexisting)
|
||||
free_unexisting_particles(&sim);
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ static int ptcache_extra_datasize[] = {
|
|||
sizeof(ParticleSpring)
|
||||
};
|
||||
|
||||
/* forward declerations */
|
||||
/* forward declarations */
|
||||
static int ptcache_file_compressed_read(PTCacheFile *pf, unsigned char *result, unsigned int len);
|
||||
static int ptcache_file_compressed_write(PTCacheFile *pf, unsigned char *in, unsigned int in_len, unsigned char *out, int mode);
|
||||
static int ptcache_file_write(PTCacheFile *pf, const void *f, unsigned int tot, unsigned int size);
|
||||
|
|
|
@ -140,7 +140,7 @@ void BKE_reportf(ReportList *reports, ReportType type, const char *_format, ...)
|
|||
va_start(args, _format);
|
||||
vprintf(format, args);
|
||||
va_end(args);
|
||||
fprintf(stdout, "\n"); /* otherise each report needs to include a \n */
|
||||
fprintf(stdout, "\n"); /* otherwise each report needs to include a \n */
|
||||
fflush(stdout); /* this ensures the message is printed before a crash */
|
||||
}
|
||||
|
||||
|
|
|
@ -2175,7 +2175,7 @@ static ImBuf *do_transform_effect(
|
|||
static void RVBlurBitmap2_float(float *map, int width, int height, float blur, int quality)
|
||||
/* MUUUCCH better than the previous blur. */
|
||||
/* We do the blurring in two passes which is a whole lot faster. */
|
||||
/* I changed the math arount to implement an actual Gaussian */
|
||||
/* I changed the math around to implement an actual Gaussian */
|
||||
/* distribution. */
|
||||
/* */
|
||||
/* Watch out though, it tends to misbehaven with large blur values on */
|
||||
|
@ -3021,7 +3021,7 @@ static void do_gaussian_blur_effect_byte_x(
|
|||
const int size_x = (int) (data->size_x + 0.5f);
|
||||
int i, j;
|
||||
|
||||
/* Make gaussian weight tabke. */
|
||||
/* Make gaussian weight table. */
|
||||
float *gausstab_x;
|
||||
gausstab_x = make_gaussian_blur_kernel(data->size_x, size_x);
|
||||
|
||||
|
@ -3074,7 +3074,7 @@ static void do_gaussian_blur_effect_byte_y(
|
|||
const int size_y = (int) (data->size_y + 0.5f);
|
||||
int i, j;
|
||||
|
||||
/* Make gaussian weight tabke. */
|
||||
/* Make gaussian weight table. */
|
||||
float *gausstab_y;
|
||||
gausstab_y = make_gaussian_blur_kernel(data->size_y, size_y);
|
||||
|
||||
|
@ -3127,7 +3127,7 @@ static void do_gaussian_blur_effect_float_x(
|
|||
const int size_x = (int) (data->size_x + 0.5f);
|
||||
int i, j;
|
||||
|
||||
/* Make gaussian weight tabke. */
|
||||
/* Make gaussian weight table. */
|
||||
float *gausstab_x;
|
||||
gausstab_x = make_gaussian_blur_kernel(data->size_x, size_x);
|
||||
|
||||
|
@ -3171,7 +3171,7 @@ static void do_gaussian_blur_effect_float_y(
|
|||
const int size_y = (int) (data->size_y + 0.5f);
|
||||
int i, j;
|
||||
|
||||
/* Make gaussian weight tabke. */
|
||||
/* Make gaussian weight table. */
|
||||
float *gausstab_y;
|
||||
gausstab_y = make_gaussian_blur_kernel(data->size_y, size_y);
|
||||
|
||||
|
|
|
@ -418,7 +418,7 @@ void BKE_sequence_clipboard_pointers_restore(Sequence *seq, Main *bmain)
|
|||
seqclipboard_ptr_restore(bmain, (ID **)&seq->sound);
|
||||
}
|
||||
|
||||
/* recursive versions of funcions above */
|
||||
/* recursive versions of functions above */
|
||||
void BKE_sequencer_base_clipboard_pointers_free(ListBase *seqbase)
|
||||
{
|
||||
Sequence *seq;
|
||||
|
@ -1065,7 +1065,7 @@ void BKE_sequencer_sort(Scene *scene)
|
|||
*(ed->seqbasep) = seqbase;
|
||||
}
|
||||
|
||||
/** Comparision function suitable to be used with BLI_listbase_sort()... */
|
||||
/** Comparison function suitable to be used with BLI_listbase_sort()... */
|
||||
int BKE_sequencer_cmp_time_startdisp(const void *a, const void *b)
|
||||
{
|
||||
const Sequence *seq_a = a;
|
||||
|
@ -4520,7 +4520,7 @@ Sequence *BKE_sequencer_foreground_frame_get(Scene *scene, int frame)
|
|||
return best_seq;
|
||||
}
|
||||
|
||||
/* return 0 if there werent enough space */
|
||||
/* return 0 if there weren't enough space */
|
||||
bool BKE_sequence_base_shuffle_ex(ListBase *seqbasep, Sequence *test, Scene *evil_scene, int channel_delta)
|
||||
{
|
||||
const int orig_machine = test->machine;
|
||||
|
|
|
@ -388,7 +388,7 @@ static void shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc)
|
|||
SpaceTransform local2aux;
|
||||
|
||||
/* If the user doesn't allows to project in any direction of projection axis
|
||||
* then theres nothing todo. */
|
||||
* then there's nothing todo. */
|
||||
if ((calc->smd->shrinkOpts & (MOD_SHRINKWRAP_PROJECT_ALLOW_POS_DIR | MOD_SHRINKWRAP_PROJECT_ALLOW_NEG_DIR)) == 0)
|
||||
return;
|
||||
|
||||
|
|
|
@ -1527,7 +1527,7 @@ static void sample_mesh(
|
|||
interp_v3_v3v3v3(hit_normal, n1, n2, n3, weights);
|
||||
normalize_v3(hit_normal);
|
||||
/* apply normal directional and random velocity
|
||||
* - TODO: random disabled for now since it doesnt really work well as pressure calc smoothens it out... */
|
||||
* - TODO: random disabled for now since it doesn't really work well as pressure calc smoothens it out... */
|
||||
velocity_map[index * 3] += hit_normal[0] * sfs->vel_normal * 0.25f;
|
||||
velocity_map[index * 3 + 1] += hit_normal[1] * sfs->vel_normal * 0.25f;
|
||||
velocity_map[index * 3 + 2] += hit_normal[2] * sfs->vel_normal * 0.25f;
|
||||
|
@ -2160,7 +2160,7 @@ static void update_flowsfluids(
|
|||
VECSUB(new_shift, total_shift, sds->shift);
|
||||
copy_v3_v3_int(sds->shift, total_shift);
|
||||
|
||||
/* calculate new domain boundary points so that smoke doesnt slide on sub-cell movement */
|
||||
/* calculate new domain boundary points so that smoke doesn't slide on sub-cell movement */
|
||||
sds->p0[0] = sds->dp0[0] - sds->cell_size[0] * (sds->shift_f[0] - total_shift[0] - 0.5f);
|
||||
sds->p0[1] = sds->dp0[1] - sds->cell_size[1] * (sds->shift_f[1] - total_shift[1] - 0.5f);
|
||||
sds->p0[2] = sds->dp0[2] - sds->cell_size[2] * (sds->shift_f[2] - total_shift[2] - 0.5f);
|
||||
|
|
|
@ -116,7 +116,7 @@ typedef struct ReferenceVert {
|
|||
|
||||
typedef struct ReferenceState {
|
||||
float com[3]; /* center of mass*/
|
||||
ReferenceVert *ivert; /* list of intial values */
|
||||
ReferenceVert *ivert; /* list of initial values */
|
||||
} ReferenceState;
|
||||
|
||||
|
||||
|
@ -217,7 +217,7 @@ static float sb_time_scale(Object *ob)
|
|||
* will cause unwanted responses of the softbody system (which does inter frame calculations )
|
||||
* so first 'cure' would be: interpolate linear in time ..
|
||||
* Q: why do i write this?
|
||||
* A: because it happend once, that some eger coder 'streamlined' code to fail.
|
||||
* A: because it happened once, that some eger coder 'streamlined' code to fail.
|
||||
* We DO linear interpolation for goals .. and i think we should do on animated properties as well
|
||||
*/
|
||||
|
||||
|
@ -927,7 +927,7 @@ static void free_softbody_intern(SoftBody *sb)
|
|||
*
|
||||
* it actually checks if the particle intrudes a short range force field generated
|
||||
* by the faces of the target object and returns a force to drive the particel out
|
||||
* the strenght of the field grows exponetially if the particle is on the 'wrong' side of the face
|
||||
* the strength of the field grows exponetially if the particle is on the 'wrong' side of the face
|
||||
* 'wrong' side : projection to the face normal is negative (all referred to a vertex in the face)
|
||||
*
|
||||
* flaw of this: 'fast' particles as well as 'fast' colliding faces
|
||||
|
@ -1934,7 +1934,7 @@ static int _softbody_calc_forces_slice_in_a_thread(Scene *scene, Object *ob, flo
|
|||
SoftBody *sb= ob->soft; /* is supposed to be there */
|
||||
BodyPoint *bp;
|
||||
|
||||
/* intitialize */
|
||||
/* initialize */
|
||||
if (sb) {
|
||||
/* check conditions for various options */
|
||||
/* +++ could be done on object level to squeeze out the last bits of it */
|
||||
|
@ -1976,7 +1976,7 @@ static int _softbody_calc_forces_slice_in_a_thread(Scene *scene, Object *ob, flo
|
|||
for (c=sb->totpoint, obp= sb->bpoint; c>0; c--, obp++) {
|
||||
compare = (obp->colball + bp->colball);
|
||||
sub_v3_v3v3(def, bp->pos, obp->pos);
|
||||
/* rather check the AABBoxes before ever calulating the real distance */
|
||||
/* rather check the AABBoxes before ever calculating the real distance */
|
||||
/* mathematically it is completely nuts, but performance is pretty much (3) times faster */
|
||||
if ((ABS(def[0]) > compare) || (ABS(def[1]) > compare) || (ABS(def[2]) > compare)) continue;
|
||||
distance = normalize_v3(def);
|
||||
|
@ -2018,7 +2018,7 @@ static int _softbody_calc_forces_slice_in_a_thread(Scene *scene, Object *ob, flo
|
|||
bp->force[1]+= -ks*(auxvect[1]);
|
||||
bp->force[2]+= -ks*(auxvect[2]);
|
||||
|
||||
/* calulate damping forces generated by goals*/
|
||||
/* calculate damping forces generated by goals*/
|
||||
sub_v3_v3v3(velgoal, bp->origS, bp->origE);
|
||||
kd = sb->goalfrict * sb_fric_force_scale(ob);
|
||||
add_v3_v3v3(auxvect, velgoal, bp->vec);
|
||||
|
@ -2303,7 +2303,7 @@ static void softbody_calc_forces(struct Depsgraph *depsgraph, Scene *scene, Obje
|
|||
compare = (obp->colball + bp->colball);
|
||||
sub_v3_v3v3(def, bp->pos, obp->pos);
|
||||
|
||||
/* rather check the AABBoxes before ever calulating the real distance */
|
||||
/* rather check the AABBoxes before ever calculating the real distance */
|
||||
/* mathematically it is completely nuts, but performance is pretty much (3) times faster */
|
||||
if ((ABS(def[0]) > compare) || (ABS(def[1]) > compare) || (ABS(def[2]) > compare)) continue;
|
||||
|
||||
|
@ -2352,7 +2352,7 @@ static void softbody_calc_forces(struct Depsgraph *depsgraph, Scene *scene, Obje
|
|||
bp->force[1]+= -ks*(auxvect[1]);
|
||||
bp->force[2]+= -ks*(auxvect[2]);
|
||||
|
||||
/* calulate damping forces generated by goals*/
|
||||
/* calculate damping forces generated by goals*/
|
||||
sub_v3_v3v3(velgoal, bp->origS, bp->origE);
|
||||
kd = sb->goalfrict * sb_fric_force_scale(ob);
|
||||
add_v3_v3v3(auxvect, velgoal, bp->vec);
|
||||
|
@ -2782,7 +2782,7 @@ static void springs_from_mesh(Object *ob)
|
|||
|
||||
sb= ob->soft;
|
||||
if (me && sb) {
|
||||
/* using bp->origS as a container for spring calcualtions here
|
||||
/* using bp->origS as a container for spring calculations here
|
||||
* will be overwritten sbObjectStep() to receive
|
||||
* actual modifier stack positions
|
||||
*/
|
||||
|
@ -3370,7 +3370,7 @@ static void softbody_update_positions(Object *ob, SoftBody *sb, float (*vertexCo
|
|||
* that is:
|
||||
* a precise position vector denoting the motion of the center of mass
|
||||
* give a rotation/scale matrix using averaging method, that's why estimate and not calculate
|
||||
* see: this is kind of reverse engineering: having to states of a point cloud and recover what happend
|
||||
* see: this is kind of reverse engineering: having to states of a point cloud and recover what happened
|
||||
* our advantage here we know the identity of the vertex
|
||||
* there are others methods giving other results.
|
||||
* lloc, lrot, lscale are allowed to be NULL, just in case you don't need it.
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
# include "opensubdiv_capi.h"
|
||||
#endif
|
||||
|
||||
/* assumes MLoop's are layed out 4 for each poly, in order */
|
||||
/* assumes MLoop's are laid out 4 for each poly, in order */
|
||||
#define USE_LOOP_LAYOUT_FAST
|
||||
|
||||
static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
|
||||
|
@ -1271,7 +1271,7 @@ void subsurf_copy_grid_paint_mask(DerivedMesh *dm, const MPoly *mpoly,
|
|||
}
|
||||
}
|
||||
|
||||
/* utility functon */
|
||||
/* utility function */
|
||||
BLI_INLINE void ccgDM_to_MVert(MVert *mv, const CCGKey *key, CCGElem *elem)
|
||||
{
|
||||
copy_v3_v3(mv->co, CCG_elem_co(key, elem));
|
||||
|
@ -1344,7 +1344,7 @@ static void ccgDM_copyFinalVertArray(DerivedMesh *dm, MVert *mvert)
|
|||
}
|
||||
|
||||
|
||||
/* utility functon */
|
||||
/* utility function */
|
||||
BLI_INLINE void ccgDM_to_MEdge(MEdge *med, const int v1, const int v2, const short flag)
|
||||
{
|
||||
med->v1 = v1;
|
||||
|
@ -2899,7 +2899,7 @@ static bool subsurf_use_gpu_backend(SubsurfFlags flags)
|
|||
{
|
||||
#ifdef WITH_OPENSUBDIV
|
||||
/* Use GPU backend if it's a last modifier in the stack
|
||||
* and user choosed to use any of the OSD compute devices,
|
||||
* and user chose to use any of the OSD compute devices,
|
||||
* but also check if GPU has all needed features.
|
||||
*/
|
||||
return
|
||||
|
@ -2999,7 +2999,7 @@ struct DerivedMesh *subsurf_make_derived_from_derived(
|
|||
|
||||
if (smd->mCache && (flags & SUBSURF_IS_FINAL_CALC)) {
|
||||
#ifdef WITH_OPENSUBDIV
|
||||
/* With OpenSubdiv enabled we always tries to re-use previos
|
||||
/* With OpenSubdiv enabled we always tries to re-use previous
|
||||
* subsurf structure in order to save computation time since
|
||||
* re-creation is rather a complicated business.
|
||||
*
|
||||
|
|
|
@ -352,7 +352,7 @@ static void text_from_buf(Text *text, const unsigned char *buffer, const int len
|
|||
* - rest of line (if last line in file hasn't got \n terminator).
|
||||
* in this case content of such line would be used to fill text line buffer
|
||||
* - file is empty. in this case new line is needed to start editing from.
|
||||
* - last characted in buffer is \n. in this case new line is needed to
|
||||
* - last character in buffer is \n. in this case new line is needed to
|
||||
* deal with newline at end of file. (see [#28087]) (sergey) */
|
||||
if (llen != 0 || text->nlines == 0 || buffer[len - 1] == '\n') {
|
||||
TextLine *tmp;
|
||||
|
|
|
@ -1607,7 +1607,7 @@ MovieTrackingPlaneMarker *BKE_tracking_plane_marker_insert(MovieTrackingPlaneTra
|
|||
int a = plane_track->markersnr;
|
||||
|
||||
/* Find position in array where to add new marker. */
|
||||
/* TODO(sergey): we coud use bisect to speed things up. */
|
||||
/* TODO(sergey): we could use bisect to speed things up. */
|
||||
while (a--) {
|
||||
if (plane_track->markers[a].framenr < plane_marker->framenr) {
|
||||
break;
|
||||
|
@ -1993,10 +1993,10 @@ void BKE_tracking_camera_to_blender(MovieTracking *tracking, Scene *scene, Camer
|
|||
camera->sensor_fit = CAMERA_SENSOR_FIT_AUTO;
|
||||
camera->lens = focal * camera->sensor_x / width;
|
||||
|
||||
scene->r.xsch = width * tracking->camera.pixel_aspect;
|
||||
scene->r.xsch = width;
|
||||
scene->r.ysch = height;
|
||||
|
||||
scene->r.xasp = 1.0f;
|
||||
scene->r.xasp = tracking->camera.pixel_aspect;
|
||||
scene->r.yasp = 1.0f;
|
||||
|
||||
BKE_tracking_camera_shift_get(tracking, width, height, &camera->shiftx, &camera->shifty);
|
||||
|
|
|
@ -149,7 +149,7 @@ static ImBuf *tracking_context_get_keyframed_ibuf(MovieClip *clip, MovieClipUser
|
|||
return tracking_context_get_frame_ibuf(clip, user, clip_flag, keyed_framenr);
|
||||
}
|
||||
|
||||
/* Get image buffer which si used as referece for track. */
|
||||
/* Get image buffer which si used as reference for track. */
|
||||
static ImBuf *tracking_context_get_reference_ibuf(MovieClip *clip, MovieClipUser *user, int clip_flag,
|
||||
MovieTrackingTrack *track, int curfra, bool backwards,
|
||||
MovieTrackingMarker **reference_marker)
|
||||
|
|
|
@ -321,7 +321,7 @@ static const bUnitDef *unit_best_fit(
|
|||
if (suppress && (unit->flag & B_UNIT_DEF_SUPPRESS))
|
||||
continue;
|
||||
|
||||
/* scale down scalar so 1cm doesnt convert to 10mm because of float error */
|
||||
/* scale down scalar so 1cm doesn't convert to 10mm because of float error */
|
||||
if (UNLIKELY(unit->flag & B_UNIT_DEF_TENTH)) {
|
||||
if (value_abs >= unit->scalar * (0.1 - EPS)) {
|
||||
return unit;
|
||||
|
@ -418,7 +418,7 @@ static size_t unit_as_string(char *str, int len_max, double value, int prec, con
|
|||
#endif
|
||||
}
|
||||
|
||||
/* terminate no matter whats done with padding above */
|
||||
/* terminate no matter what's done with padding above */
|
||||
if (i >= len_max)
|
||||
i = len_max - 1;
|
||||
|
||||
|
|
|
@ -143,7 +143,7 @@ void AnimationExporter::create_sampled_animation(int channel_count,
|
|||
* Export all animation FCurves of an Object.
|
||||
*
|
||||
* Note: This uses the keyframes as sample points,
|
||||
* and exports "baked keyframes" while keeping the tangent infromation
|
||||
* and exports "baked keyframes" while keeping the tangent information
|
||||
* of the FCurves intact. This works for simple cases, but breaks
|
||||
* especially when negative scales are involved in the animation.
|
||||
*
|
||||
|
|
|
@ -397,7 +397,7 @@ std::string ControllerExporter::add_morph_weights(Key *key, Object *ob)
|
|||
return source_id;
|
||||
}
|
||||
|
||||
//Added to implemente support for animations.
|
||||
//Added to implement support for animations.
|
||||
void ControllerExporter::add_weight_extras(Key *key)
|
||||
{
|
||||
// can also try the base element and param alternative
|
||||
|
|
|
@ -183,7 +183,7 @@ void VCOLDataWrapper::get_vcol(int v_index, MLoopCol *mloopcol)
|
|||
case COLLADAFW::MeshVertexData::DATA_TYPE_FLOAT:
|
||||
{
|
||||
COLLADAFW::ArrayPrimitiveType<float> *values = mVData->getFloatValues();
|
||||
if (values->empty() || values->getCount() <= (v_index * stride + 2)) return; // xxx need to create an eror instead
|
||||
if (values->empty() || values->getCount() <= (v_index * stride + 2)) return; // xxx need to create an error instead
|
||||
|
||||
mloopcol->r = unit_float_to_uchar_clamp((*values)[v_index * stride]);
|
||||
mloopcol->g = unit_float_to_uchar_clamp((*values)[v_index * stride + 1]);
|
||||
|
@ -194,7 +194,7 @@ void VCOLDataWrapper::get_vcol(int v_index, MLoopCol *mloopcol)
|
|||
case COLLADAFW::MeshVertexData::DATA_TYPE_DOUBLE:
|
||||
{
|
||||
COLLADAFW::ArrayPrimitiveType<double> *values = mVData->getDoubleValues();
|
||||
if (values->empty() || values->getCount() <= (v_index * stride + 2)) return; // xxx need to create an eror instead
|
||||
if (values->empty() || values->getCount() <= (v_index * stride + 2)) return; // xxx need to create an error instead
|
||||
|
||||
mloopcol->r = unit_float_to_uchar_clamp((*values)[v_index * stride]);
|
||||
mloopcol->g = unit_float_to_uchar_clamp((*values)[v_index * stride + 1]);
|
||||
|
@ -545,7 +545,7 @@ unsigned int MeshImporter::get_loose_edge_count(COLLADAFW::Mesh *mesh) {
|
|||
}
|
||||
|
||||
// =================================================================
|
||||
// This functin is copied from source/blender/editors/mesh/mesh_data.c
|
||||
// This function is copied from source/blender/editors/mesh/mesh_data.c
|
||||
//
|
||||
// TODO: (As discussed with sergey-) :
|
||||
// Maybe move this function to blenderkernel/intern/mesh.c
|
||||
|
@ -584,7 +584,7 @@ void MeshImporter::mesh_add_edges(Mesh *mesh, int len)
|
|||
// =================================================================
|
||||
// Read all loose edges.
|
||||
// Important: This function assumes that all edges from existing
|
||||
// faces have allready been generated and added to me->medge
|
||||
// faces have already been generated and added to me->medge
|
||||
// So this function MUST be called after read_faces() (see below)
|
||||
// =================================================================
|
||||
void MeshImporter::read_lines(COLLADAFW::Mesh *mesh, Mesh *me)
|
||||
|
@ -678,7 +678,7 @@ void MeshImporter::read_polys(COLLADAFW::Mesh *collada_mesh, Mesh *me)
|
|||
unsigned int vertex_count = mp->getGroupedVerticesVertexCount(group_index);
|
||||
|
||||
for (unsigned int vertex_index = 0; vertex_index < vertex_count - 2; vertex_index++) {
|
||||
// For each triangle store indeces of its 3 vertices
|
||||
// For each triangle store indices of its 3 vertices
|
||||
unsigned int triangle_vertex_indices[3] = {first_vertex, position_indices[1], position_indices[2]};
|
||||
set_poly_indices(mpoly, mloop, loop_index, triangle_vertex_indices, 3);
|
||||
|
||||
|
@ -901,7 +901,7 @@ static bool bc_has_same_material_configuration(Object *ob1, Object *ob2)
|
|||
|
||||
/**
|
||||
*
|
||||
* Caution here: This code assumes tha all materials are assigned to Object
|
||||
* Caution here: This code assumes that all materials are assigned to Object
|
||||
* and no material is assigned to Data.
|
||||
* That is true right after the objects have been imported.
|
||||
*
|
||||
|
@ -1033,7 +1033,7 @@ void MeshImporter::assign_material_to_geom(
|
|||
|
||||
Material *ma = uid_material_map[ma_uid];
|
||||
|
||||
// Attention! This temporaly assigns material to object on purpose!
|
||||
// Attention! This temporarily assigns material to object on purpose!
|
||||
// See note above.
|
||||
ob->actcol=0;
|
||||
assign_material(m_bmain, ob, ma, mat_index + 1, BKE_MAT_ASSIGN_OBJECT);
|
||||
|
@ -1065,7 +1065,7 @@ Object *MeshImporter::create_mesh_object(COLLADAFW::Node *node, COLLADAFW::Insta
|
|||
{
|
||||
const COLLADAFW::UniqueId *geom_uid = &geom->getInstanciatedObjectId();
|
||||
|
||||
// check if node instanciates controller or geometry
|
||||
// check if node instantiates controller or geometry
|
||||
if (isController) {
|
||||
|
||||
geom_uid = armature_importer->get_geometry_uid(*geom_uid);
|
||||
|
@ -1164,7 +1164,7 @@ bool MeshImporter::write_geometry(const COLLADAFW::Geometry *geom)
|
|||
// BKE_mesh_calc_edges(me, false, false);
|
||||
|
||||
// read_lines() must be called after the face edges have been generated.
|
||||
// Oterwise the loose edges will be silently deleted again.
|
||||
// Otherwise the loose edges will be silently deleted again.
|
||||
read_lines(mesh, me);
|
||||
|
||||
return true;
|
||||
|
|
|
@ -60,7 +60,7 @@ void SceneExporter::exportHierarchy(bContext *C, Depsgraph *depsgraph, Scene *sc
|
|||
ob->id.tag |= LIB_TAG_DOIT;
|
||||
}
|
||||
|
||||
// Now find all exportable base ojects (highest in export hierarchy)
|
||||
// Now find all exportable base objects (highest in export hierarchy)
|
||||
for (node = this->export_settings->export_set; node; node = node->next) {
|
||||
Object *ob = (Object *) node->link;
|
||||
if (bc_is_base_node(this->export_settings->export_set, ob)) {
|
||||
|
|
|
@ -775,7 +775,7 @@ float bc_get_property(Bone *bone, std::string key, float def)
|
|||
|
||||
/**
|
||||
* Read a custom bone property and convert to matrix
|
||||
* Return true if conversion was succesfull
|
||||
* Return true if conversion was successful
|
||||
*
|
||||
* Return false if:
|
||||
* - the property does not exist
|
||||
|
|
|
@ -394,7 +394,7 @@ Node *Converter::convert(bNode *b_node)
|
|||
case CMP_NODE_TRACKPOS:
|
||||
node = new TrackPositionNode(b_node);
|
||||
break;
|
||||
/* not inplemented yet */
|
||||
/* not implemented yet */
|
||||
case CMP_NODE_PIXELATE:
|
||||
node = new PixelateNode(b_node);
|
||||
break;
|
||||
|
|
|
@ -437,7 +437,7 @@ void ExecutionGroup::determineChunkRect(rcti *rect, const unsigned int chunkNumb
|
|||
MemoryBuffer *ExecutionGroup::allocateOutputBuffer(int /*chunkNumber*/,
|
||||
rcti *rect)
|
||||
{
|
||||
// we asume that this method is only called from complex execution groups.
|
||||
// we assume that this method is only called from complex execution groups.
|
||||
NodeOperation *operation = this->getOutputOperation();
|
||||
if (operation->isWriteBufferOperation()) {
|
||||
WriteBufferOperation *writeOperation = (WriteBufferOperation *)operation;
|
||||
|
|
|
@ -39,7 +39,7 @@ class WriteBufferOperation;
|
|||
class MemoryProxy {
|
||||
private:
|
||||
/**
|
||||
* \brief reference to the ouput operation of the executiongroup
|
||||
* \brief reference to the output operation of the executiongroup
|
||||
*/
|
||||
WriteBufferOperation *m_writeBufferOperation;
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
* \ingroup Node
|
||||
*/
|
||||
class DilateErodeNode : public Node {
|
||||
NodeBlurData m_alpha_blur; /* only used for blurring alpha, since the dilate/erode node doesnt have this */
|
||||
NodeBlurData m_alpha_blur; /* only used for blurring alpha, since the dilate/erode node doesn't have this */
|
||||
public:
|
||||
DilateErodeNode(bNode *editorNode);
|
||||
void convertToOperations(NodeConverter &converter, const CompositorContext &context) const;
|
||||
|
|
|
@ -128,7 +128,7 @@ void FastGaussianBlurOperation::IIR_gauss(MemoryBuffer *src, float sigma, unsign
|
|||
if ((xy < 1) || (xy > 3)) xy = 3;
|
||||
|
||||
// XXX The YVV macro defined below explicitly expects sources of at least 3x3 pixels,
|
||||
// so just skiping blur along faulty direction if src's def is below that limit!
|
||||
// so just skipping blur along faulty direction if src's def is below that limit!
|
||||
if (src_width < 3) xy &= ~1;
|
||||
if (src_height < 3) xy &= ~2;
|
||||
if (xy < 1) return;
|
||||
|
|
|
@ -201,7 +201,7 @@ bool ScaleAbsoluteOperation::determineDependingAreaOfInterest(rcti *input, ReadB
|
|||
}
|
||||
|
||||
|
||||
// Absolute fixed siez
|
||||
// Absolute fixed size
|
||||
ScaleFixedSizeOperation::ScaleFixedSizeOperation() : BaseScaleOperation()
|
||||
{
|
||||
this->addInputSocket(COM_DT_COLOR, COM_SC_NO_RESIZE);
|
||||
|
|
|
@ -141,7 +141,7 @@ struct BufferLineAccumulator {
|
|||
|
||||
/**
|
||||
* Perform the actual accumulation along a ray segment from source to pt.
|
||||
* Only pixels withing dist_min..dist_max contribute.
|
||||
* Only pixels within dist_min..dist_max contribute.
|
||||
*
|
||||
* The loop runs backwards(!) over the primary sector space axis u, i.e. increasing distance to pt.
|
||||
* After each step it decrements v by dv < 1, adding a buffer shift when necessary.
|
||||
|
|
|
@ -761,7 +761,7 @@ void zbuf_accumulate_vecblur(
|
|||
}
|
||||
|
||||
/* blend with a falloff. this fixes the ugly effect you get with
|
||||
* a fast moving object. then it looks like a solid object overlayed
|
||||
* a fast moving object. then it looks like a solid object overlaid
|
||||
* over a very transparent moving version of itself. in reality, the
|
||||
* whole object should become transparent if it is moving fast, be
|
||||
* we don't know what is behind it so we don't do that. this hack
|
||||
|
|
|
@ -995,11 +995,11 @@ void DepsgraphRelationBuilder::build_constraints(ID *id,
|
|||
/* Standard object relation. */
|
||||
// TODO: loc vs rot vs scale?
|
||||
if (&ct->tar->id == id) {
|
||||
/* Constraint targetting own object:
|
||||
/* Constraint targeting own object:
|
||||
* - This case is fine IFF we're dealing with a bone
|
||||
* constraint pointing to its own armature. In that
|
||||
* case, it's just transform -> bone.
|
||||
* - If however it is a real self targetting case, just
|
||||
* - If however it is a real self targeting case, just
|
||||
* make it depend on the previous constraint (or the
|
||||
* pre-constraint state).
|
||||
*/
|
||||
|
|
|
@ -313,7 +313,7 @@ protected:
|
|||
|
||||
/* TODO(sergey): All those is_same* functions are to be generalized. */
|
||||
|
||||
/* Check whether two keys correponds to the same bone from same armature.
|
||||
/* Check whether two keys corresponds to the same bone from same armature.
|
||||
*
|
||||
* This is used by drivers relations builder to avoid possible fake
|
||||
* dependency cycle when one bone property drives another property of the
|
||||
|
|
|
@ -154,7 +154,7 @@ static bool pointer_to_component_node_criteria(
|
|||
else if (ptr->type == &RNA_Bone) {
|
||||
Bone *bone = (Bone *)ptr->data;
|
||||
/* armature-level bone, but it ends up going to bone component anyway */
|
||||
// NOTE: the ID in thise case will end up being bArmature.
|
||||
// NOTE: the ID in this case will end up being bArmature.
|
||||
*type = DEG_NODE_TYPE_BONE;
|
||||
*subdata = bone->name;
|
||||
return true;
|
||||
|
|
|
@ -241,7 +241,7 @@ typedef enum eDepsOperation_Code {
|
|||
* - "READY" This (internal, noop is used to signal that all pre-IK
|
||||
* operations are done. Its role is to help mediate situations
|
||||
* where cyclic relations may otherwise form (i.e. one bone in
|
||||
* chain targetting another in same chain,
|
||||
* chain targeting another in same chain,
|
||||
*
|
||||
* - "DONE" This noop is used to signal that the bone's final pose
|
||||
* transform can be read by others
|
||||
|
|
|
@ -299,7 +299,7 @@ static void gpu_dump_shaders(const char **code, const int num_shaders, const cha
|
|||
}
|
||||
|
||||
/* We use the same shader index for shaders in the same program.
|
||||
* So we call this function once before calling for the invidual shaders. */
|
||||
* So we call this function once before calling for the individual shaders. */
|
||||
static int shader_index = 0;
|
||||
if (code == NULL) {
|
||||
shader_index++;
|
||||
|
|
|
@ -294,9 +294,9 @@ enum ePreviewImage_Flag {
|
|||
|
||||
/* for PreviewImage->tag */
|
||||
enum {
|
||||
PRV_TAG_DEFFERED = (1 << 0), /* Actual loading of preview is deffered. */
|
||||
PRV_TAG_DEFFERED_RENDERING = (1 << 1), /* Deffered preview is being loaded. */
|
||||
PRV_TAG_DEFFERED_DELETE = (1 << 2), /* Deffered preview should be deleted asap. */
|
||||
PRV_TAG_DEFFERED = (1 << 0), /* Actual loading of preview is deferred. */
|
||||
PRV_TAG_DEFFERED_RENDERING = (1 << 1), /* Deferred preview is being loaded. */
|
||||
PRV_TAG_DEFFERED_DELETE = (1 << 2), /* Deferred preview should be deleted asap. */
|
||||
};
|
||||
|
||||
typedef struct PreviewImage {
|
||||
|
|
|
@ -109,7 +109,7 @@ typedef struct bArmature {
|
|||
unsigned int layer_used; /* for UI, to show which layers are there */
|
||||
unsigned int layer, layer_protected; /* for buttons to work, both variables in this order together */
|
||||
|
||||
// XXX deprecated... old animaton system (armature only viz) ---
|
||||
// XXX deprecated... old animation system (armature only viz) ---
|
||||
short ghostep, ghostsize; /* number of frames to ghosts to show, and step between them */
|
||||
short ghosttype, pathsize; /* ghost drawing options and number of frames between points of path */
|
||||
int ghostsf, ghostef; /* start and end frames of ghost-drawing range */
|
||||
|
|
|
@ -121,7 +121,7 @@ typedef struct bPythonConstraint {
|
|||
ListBase targets; /* a list of targets that this constraint has (bConstraintTarget-s) */
|
||||
|
||||
struct Object *tar; /* target from previous implementation (version-patch sets this to NULL on file-load) */
|
||||
char subtarget[64]; /* subtarger from previous implentation (version-patch sets this to "" on file-load), MAX_ID_NAME-2 */
|
||||
char subtarget[64]; /* subtarger from previous implementation (version-patch sets this to "" on file-load), MAX_ID_NAME-2 */
|
||||
} bPythonConstraint;
|
||||
|
||||
|
||||
|
@ -646,7 +646,7 @@ typedef enum eTrackTo_Flags {
|
|||
TARGET_Z_UP = (1<<0)
|
||||
} eTrackTo_Flags;
|
||||
|
||||
/* Strech To Constraint -> volmode */
|
||||
/* Stretch To Constraint -> volmode */
|
||||
typedef enum eStretchTo_VolMode {
|
||||
VOLUME_XZ = 0,
|
||||
VOLUME_X = 1,
|
||||
|
|
|
@ -159,7 +159,7 @@ typedef struct bGPDstroke {
|
|||
struct bGPDstroke *next, *prev;
|
||||
|
||||
bGPDspoint *points; /* array of data-points for stroke */
|
||||
bGPDtriangle *triangles;/* tesselated triangles for GP Fill */
|
||||
bGPDtriangle *triangles;/* tessellated triangles for GP Fill */
|
||||
int totpoints; /* number of data-points in array */
|
||||
int tot_triangles; /* number of triangles in array */
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ typedef struct MaskSplinePoint {
|
|||
typedef struct MaskSpline {
|
||||
struct MaskSpline *next, *prev;
|
||||
|
||||
short flag; /* defferent spline flag (closed, ...) */
|
||||
short flag; /* different spline flag (closed, ...) */
|
||||
char offset_mode; /* feather offset method */
|
||||
char weight_interp; /* weight interpolation */
|
||||
|
||||
|
|
|
@ -924,7 +924,7 @@ typedef struct SimpleDeformModifierData {
|
|||
float limit[2]; /* lower and upper limit */
|
||||
|
||||
char mode; /* deform function */
|
||||
char axis; /* lock axis (for taper and strech) */
|
||||
char axis; /* lock axis (for taper and stretch) */
|
||||
char deform_axis; /* axis to perform the deform on (default is X, but can be overridden by origin */
|
||||
char flag;
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ typedef struct FluidsimSettings {
|
|||
/* additional flags depending on the type, lower short contains flags
|
||||
* to check validity, higher short additional flags */
|
||||
short typeFlags;
|
||||
/* switch off velocity genration, volume init type for fluid/obstacles (volume=1, shell=2, both=3) */
|
||||
/* switch off velocity generation, volume init type for fluid/obstacles (volume=1, shell=2, both=3) */
|
||||
char domainNovecgen, volumeInitType;
|
||||
|
||||
/* boundary "stickiness" for part slip values */
|
||||
|
|
|
@ -106,7 +106,7 @@ typedef struct ParticleData {
|
|||
|
||||
int totkey; /* amount of hair or keyed keys*/
|
||||
|
||||
float time, lifetime; /* dietime is not nescessarily time+lifetime as */
|
||||
float time, lifetime; /* dietime is not necessarily time+lifetime as */
|
||||
float dietime; /* particles can die unnaturally (collision). */
|
||||
|
||||
/* WARNING! Those two indices, when not affected to vertices, are for !!! TESSELLATED FACES !!!, not POLYGONS! */
|
||||
|
@ -367,7 +367,7 @@ typedef enum eParticleDrawFlag {
|
|||
} eParticleDrawFlag;
|
||||
|
||||
/* part->type */
|
||||
/* hair is allways baked static in object/geometry space */
|
||||
/* hair is always baked static in object/geometry space */
|
||||
/* other types (normal particles) are in global space and not static baked */
|
||||
#define PART_EMITTER 0
|
||||
//#define PART_REACTOR 1
|
||||
|
|
|
@ -117,7 +117,7 @@ typedef struct RigidBodyOb {
|
|||
short shape; /* (eRigidBody_Shape) collision shape to use */
|
||||
|
||||
int flag; /* (eRigidBodyOb_Flag) */
|
||||
int col_groups; /* Collision groups that determines wich rigid bodies can collide with each other */
|
||||
int col_groups; /* Collision groups that determines which rigid bodies can collide with each other */
|
||||
short mesh_source; /* (eRigidBody_MeshSource) mesh source for mesh based collision shapes */
|
||||
short pad;
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@ typedef struct Strip {
|
|||
* each of the strips uses a different sequence structure.
|
||||
*
|
||||
* \warning The first part identical to ID (for use in ipo's)
|
||||
* the commend above is historic, probably we can drop the ID compatibility,
|
||||
* the comment above is historic, probably we can drop the ID compatibility,
|
||||
* but take care making this change.
|
||||
*
|
||||
* \warning This is really a 'Strip' in the UI!, name is highly confusing.
|
||||
|
|
|
@ -113,7 +113,7 @@ enum {
|
|||
#define SM_HRES_LINEAR 1
|
||||
#define SM_HRES_FULLSAMPLE 2
|
||||
|
||||
/* smoke data fileds (active_fields) */
|
||||
/* smoke data fields (active_fields) */
|
||||
#define SM_ACTIVE_HEAT (1<<0)
|
||||
#define SM_ACTIVE_FIRE (1<<1)
|
||||
#define SM_ACTIVE_COLORS (1<<2)
|
||||
|
|
|
@ -453,7 +453,7 @@ typedef struct SpaceNla {
|
|||
|
||||
/* SpaceNla.flag */
|
||||
typedef enum eSpaceNla_Flag {
|
||||
/* flags (1<<0), (1<<1), and (1<<3) are deprecated flags from old verisons */
|
||||
/* flags (1<<0), (1<<1), and (1<<3) are deprecated flags from old versions */
|
||||
|
||||
/* draw timing in seconds instead of frames */
|
||||
SNLA_DRAWTIME = (1 << 2),
|
||||
|
|
|
@ -108,7 +108,7 @@ typedef struct MovieTrackingTrack {
|
|||
|
||||
char name[64]; /* MAX_NAME */
|
||||
|
||||
/* ** setings ** */
|
||||
/* ** settings ** */
|
||||
|
||||
/* positions of left-bottom and right-top corners of pattern (in unified 0..1 units,
|
||||
* relative to marker->pos)
|
||||
|
|
|
@ -64,7 +64,7 @@ typedef enum eUIFont_ID {
|
|||
UIFONT_CUSTOM2 = 3
|
||||
} eUIFont_ID;
|
||||
|
||||
/* default fonts to load/initalize */
|
||||
/* default fonts to load/initialize */
|
||||
/* first font is the default (index 0), others optional */
|
||||
typedef struct uiFont {
|
||||
struct uiFont *next, *prev;
|
||||
|
@ -175,7 +175,7 @@ typedef struct ThemeUI {
|
|||
|
||||
uiWidgetStateColors wcol_state;
|
||||
|
||||
uiPanelColors panel; /* depricated, but we keep it for do_versions (2.66.1) */
|
||||
uiPanelColors panel; /* deprecated, but we keep it for do_versions (2.66.1) */
|
||||
|
||||
char widget_emboss[4];
|
||||
|
||||
|
@ -583,7 +583,7 @@ typedef struct UserDef {
|
|||
short rvisize; /* rotating view icon size */
|
||||
short rvibright; /* rotating view icon brightness */
|
||||
short recent_files; /* maximum number of recently used files to remember */
|
||||
short smooth_viewtx; /* miliseconds to spend spinning the view */
|
||||
short smooth_viewtx; /* milliseconds to spend spinning the view */
|
||||
short glreslimit;
|
||||
short curssize;
|
||||
short color_picker_type; /* eColorPicker_Types */
|
||||
|
@ -741,7 +741,7 @@ typedef enum eUserpref_UI_Flag {
|
|||
USER_PLAINMENUS = (1 << 5),
|
||||
USER_LOCK_CURSOR_ADJUST = (1 << 6),
|
||||
/* Avoid accidentally adjusting the layout
|
||||
* (exact behavior may change based on whats considered reasonable to lock down). */
|
||||
* (exact behavior may change based on what's considered reasonable to lock down). */
|
||||
USER_UIFLAG_DEPRECATED_7 = (1 << 7),
|
||||
USER_ALLWINCODECS = (1 << 8),
|
||||
USER_MENUOPENAUTO = (1 << 9),
|
||||
|
|
|
@ -179,7 +179,7 @@ enum {
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* the savable part, rest of data is local in ghostwinlay */
|
||||
/* the saveable part, rest of data is local in ghostwinlay */
|
||||
typedef struct wmWindow {
|
||||
struct wmWindow *next, *prev;
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
*
|
||||
* ALLOWED AND TESTED CHANGES IN STRUCTS:
|
||||
* - type change (a char to float will be divided by 255)
|
||||
* - location within a struct (everthing can be randomly mixed up)
|
||||
* - location within a struct (everything can be randomly mixed up)
|
||||
* - struct within struct (within struct etc), this is recursive
|
||||
* - adding new elements, will be default initialized zero
|
||||
* - removing elements
|
||||
|
@ -984,7 +984,7 @@ static int elem_strcmp(const char *name, const char *oname)
|
|||
* \param type Current field type name
|
||||
* \param name Current field name
|
||||
* \param old Pointer to struct information in sdna
|
||||
* \return true when existsing, false otherwise.
|
||||
* \return true when existing, false otherwise.
|
||||
*/
|
||||
static bool elem_exists(
|
||||
const SDNA *sdna,
|
||||
|
@ -1342,7 +1342,7 @@ void DNA_struct_switch_endian(const SDNA *oldsdna, int oldSDNAnr, char *data)
|
|||
else if (ELEM(spc[0], SDNA_TYPE_INT, SDNA_TYPE_FLOAT)) {
|
||||
/* note, intentionally ignore long/ulong here these could be 4 or 8 bits,
|
||||
* but turns out we only used for runtime vars and
|
||||
* only once for a struct type thats no longer used. */
|
||||
* only once for a struct type that's no longer used. */
|
||||
|
||||
BLI_endian_switch_int32_array((int32_t *)cur, DNA_elem_array_size(name));
|
||||
}
|
||||
|
|
|
@ -997,7 +997,7 @@ static int make_structDNA(const char *baseDirectory, FILE *file, FILE *file_offs
|
|||
printf("Running makesdna at debug level %d\n", debugSDNA);
|
||||
}
|
||||
|
||||
/* the longest known struct is 50k, so we assume 100k is sufficent! */
|
||||
/* the longest known struct is 50k, so we assume 100k is sufficient! */
|
||||
namedata = MEM_callocN(maxdata, "namedata");
|
||||
typedata = MEM_callocN(maxdata, "typedata");
|
||||
structdata = MEM_callocN(maxdata, "structdata");
|
||||
|
@ -1271,7 +1271,7 @@ int main(int argc, char **argv)
|
|||
return(return_status);
|
||||
}
|
||||
|
||||
/* handy but fails on struct bounds which makesdna doesnt care about
|
||||
/* handy but fails on struct bounds which makesdna doesn't care about
|
||||
* with quite the same strictness as GCC does */
|
||||
#if 0
|
||||
/* include files for automatic dependencies */
|
||||
|
|
|
@ -431,7 +431,7 @@ typedef struct ParameterDynAlloc {
|
|||
|
||||
typedef enum FunctionFlag {
|
||||
/***** Options affecting callback signature. *****/
|
||||
/* Those add additionnal parameters at the beginning of the C callback, like that:
|
||||
/* Those add additional parameters at the beginning of the C callback, like that:
|
||||
* rna_my_func([ID *_selfid],
|
||||
* [<DNA_STRUCT> *self|StructRNA *type],
|
||||
* [Main *bmain],
|
||||
|
|
|
@ -924,7 +924,7 @@ static void rna_def_edit_bone(BlenderRNA *brna)
|
|||
|
||||
/* calculated and read only, not actual data access */
|
||||
prop = RNA_def_property(srna, "matrix", PROP_FLOAT, PROP_MATRIX);
|
||||
/*RNA_def_property_float_sdna(prop, NULL, ""); *//* doesnt access any real data */
|
||||
/*RNA_def_property_float_sdna(prop, NULL, ""); *//* doesn't access any real data */
|
||||
RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
|
||||
//RNA_def_property_clear_flag(prop, PROP_EDITABLE);
|
||||
RNA_def_property_flag(prop, PROP_THICK_WRAP); /* no reference to original data */
|
||||
|
|
|
@ -250,7 +250,7 @@ static const EnumPropertyItem *rna_Object_parent_type_itemf(
|
|||
Object *par = gpl->parent;
|
||||
|
||||
if (par->type == OB_ARMATURE) {
|
||||
/* special hack: prevents this being overrided */
|
||||
/* special hack: prevents this being overridden */
|
||||
RNA_enum_items_add_value(&item, &totitem, &parent_type_items[1], PARSKEL);
|
||||
RNA_enum_items_add_value(&item, &totitem, parent_type_items, PARBONE);
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ static void rna_Lattice_update_data(Main *UNUSED(bmain), Scene *UNUSED(scene), P
|
|||
|
||||
/* copy settings to editlattice,
|
||||
* we could split this up differently (one update call per property)
|
||||
* but for now thats overkill
|
||||
* but for now that's overkill
|
||||
*/
|
||||
static void rna_Lattice_update_data_editlatt(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
{
|
||||
|
|
|
@ -592,7 +592,7 @@ static void rna_def_modifier_type_common(
|
|||
{LS_VALUE_MULT, "MULTIPLY", 0, "Multiply", ""},
|
||||
{LS_VALUE_DIV, "DIVIDE", 0, "Divide", ""},
|
||||
{LS_VALUE_DIFF, "DIFFERENCE", 0, "Difference", ""},
|
||||
{LS_VALUE_MIN, "MININUM", 0, "Minimum", ""},
|
||||
{LS_VALUE_MIN, "MINIMUM", 0, "Minimum", ""},
|
||||
{LS_VALUE_MAX, "MAXIMUM", 0, "Maximum", ""},
|
||||
{0, NULL, 0, NULL, NULL}
|
||||
};
|
||||
|
|
|
@ -481,7 +481,7 @@ static const EnumPropertyItem *rna_Object_parent_type_itemf(bContext *UNUSED(C),
|
|||
RNA_enum_items_add_value(&item, &totitem, &parent_type_items[2], PARSKEL);
|
||||
}
|
||||
else if (par->type == OB_ARMATURE) {
|
||||
/* special hack: prevents this being overrided */
|
||||
/* special hack: prevents this being overridden */
|
||||
RNA_enum_items_add_value(&item, &totitem, &parent_type_items[1], PARSKEL);
|
||||
RNA_enum_items_add_value(&item, &totitem, parent_type_items, PARBONE);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
static const EnumPropertyItem space_items[] = {
|
||||
{CONSTRAINT_SPACE_WORLD, "WORLD", 0, "World Space",
|
||||
"The most gobal space in Blender"},
|
||||
"The most global space in Blender"},
|
||||
{CONSTRAINT_SPACE_POSE, "POSE", 0, "Pose Space",
|
||||
"The pose space of a bone (its armature's object space)"},
|
||||
{CONSTRAINT_SPACE_PARLOCAL, "LOCAL_WITH_PARENT", 0, "Local With Parent",
|
||||
|
|
|
@ -863,7 +863,7 @@ static void rna_def_pointcache_active(BlenderRNA *brna)
|
|||
/* This first-level RNA pointer also has list of all caches from owning ID.
|
||||
* Those caches items have exact same content as 'active' one, except for that collection,
|
||||
* to prevent ugly recursive layout pattern.
|
||||
* Note: This shall probably be redone from scratch in a proper way at some poitn, but for now that will do,
|
||||
* Note: This shall probably be redone from scratch in a proper way at some point, but for now that will do,
|
||||
* and shall not break anything in the API. */
|
||||
prop = RNA_def_property(srna, "point_caches", PROP_COLLECTION, PROP_NONE);
|
||||
RNA_def_property_collection_funcs(prop, "rna_Cache_list_begin", "rna_iterator_listbase_next",
|
||||
|
|
|
@ -296,6 +296,8 @@ static void cmp_node_image_update(bNodeTree *ntree, bNode *node)
|
|||
/* avoid unnecessary updates, only changes to the image/image user data are of interest */
|
||||
if (node->update & NODE_UPDATE_ID)
|
||||
cmp_node_image_verify_outputs(ntree, node, false);
|
||||
|
||||
cmp_node_update_default(ntree, node);
|
||||
}
|
||||
|
||||
static void node_composit_init_image(bNodeTree *ntree, bNode *node)
|
||||
|
@ -428,6 +430,8 @@ static void node_composit_copy_rlayers(bNodeTree *UNUSED(dest_ntree), bNode *UNU
|
|||
static void cmp_node_rlayers_update(bNodeTree *ntree, bNode *node)
|
||||
{
|
||||
cmp_node_image_verify_outputs(ntree, node, true);
|
||||
|
||||
cmp_node_update_default(ntree, node);
|
||||
}
|
||||
|
||||
void register_node_type_cmp_rlayers(void)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue