Cleanup: reaname LINKLIST_FOREACH -> LISTBASE

LinkList's are a different API, no need to confuse things.
This commit is contained in:
Campbell Barton 2018-01-19 21:39:18 +11:00
parent 5a61c1de82
commit 889321e22b
12 changed files with 49 additions and 46 deletions

@ -30,9 +30,6 @@
/** \file BLI_linklist.h
* \ingroup bli
* \brief Routines for working with singly linked lists
* of 'links' - pointers to other data.
*
*/
#include "BLI_compiler_attrs.h"

@ -128,7 +128,7 @@ if ((lb)->last && (lb_init || (lb_init = (lb)->last))) { \
(lb_iter != lb_init)); \
}
#define LINKLIST_FOREACH(type, var, list) \
#define BLI_LISTBASE_FOREACH(type, var, list) \
for (type var = (type)((list)->first); \
var != NULL; \
var = (type)(((Link*)(var))->next))

@ -28,6 +28,10 @@
/** \file blender/blenlib/intern/BLI_linklist.c
* \ingroup bli
*
* Routines for working with single linked lists of 'links' - pointers to other data.
*
* For double linked lists see 'BLI_listbase.h'.
*/
#include <stdlib.h>

@ -29,7 +29,9 @@
/** \file blender/blenlib/intern/listbase.c
* \ingroup bli
*
* Manipulations on ListBase structs
* Manipulations on double-linked list (#ListBase structs).
*
* For single linked lists see 'BLI_linklist.h'
*/
#include <string.h>

@ -305,7 +305,7 @@ void DepsgraphNodeBuilder::build_group(Base *base, Group *group)
}
group_id->tag |= LIB_TAG_DOIT;
LINKLIST_FOREACH (GroupObject *, go, &group->gobject) {
BLI_LISTBASE_FOREACH (GroupObject *, go, &group->gobject) {
build_object(base, go->ob);
}
}
@ -524,7 +524,7 @@ void DepsgraphNodeBuilder::build_animdata(ID *id)
}
/* drivers */
LINKLIST_FOREACH (FCurve *, fcu, &adt->drivers) {
BLI_LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) {
/* create driver */
build_driver(id, fcu);
}
@ -630,7 +630,7 @@ void DepsgraphNodeBuilder::build_rigidbody(Scene *scene)
/* objects - simulation participants */
if (rbw->group) {
LINKLIST_FOREACH (GroupObject *, go, &rbw->group->gobject) {
BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->group->gobject) {
Object *object = go->ob;
if (!object || (object->type != OB_MESH))
@ -674,7 +674,7 @@ void DepsgraphNodeBuilder::build_particles(Object *object)
DEG_OPCODE_PARTICLE_SYSTEM_EVAL_INIT);
/* particle systems */
LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
ParticleSettings *part = psys->part;
/* particle settings */
@ -758,7 +758,7 @@ void DepsgraphNodeBuilder::build_obdata_geom(Object *object)
// TODO: "Done" operation
/* Cloth modifier. */
LINKLIST_FOREACH (ModifierData *, md, &object->modifiers) {
BLI_LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
if (md->type == eModifierType_Cloth) {
build_cloth(object);
}
@ -962,7 +962,7 @@ void DepsgraphNodeBuilder::build_nodetree(bNodeTree *ntree)
op_node->set_as_exit();
/* nodetree's nodes... */
LINKLIST_FOREACH (bNode *, bnode, &ntree->nodes) {
BLI_LISTBASE_FOREACH (bNode *, bnode, &ntree->nodes) {
ID *id = bnode->id;
if (id == NULL) {
continue;

@ -195,7 +195,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object)
op_node->set_as_exit();
/* bones */
LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
/* Node for bone evaluation. */
op_node = add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name, NULL,
DEG_OPCODE_BONE_LOCAL);
@ -236,7 +236,7 @@ void DepsgraphNodeBuilder::build_rig(Object *object)
* - Care is needed to ensure that multi-headed trees work out the same as in ik-tree building
* - Animated chain-lengths are a problem...
*/
LINKLIST_FOREACH (bConstraint *, con, &pchan->constraints) {
BLI_LISTBASE_FOREACH (bConstraint *, con, &pchan->constraints) {
switch (con->type) {
case CONSTRAINT_TYPE_KINEMATIC:
build_ik_pose(object, pchan, con);
@ -274,7 +274,7 @@ void DepsgraphNodeBuilder::build_proxy_rig(Object *object)
DEG_OPCODE_POSE_INIT);
op_node->set_as_entry();
LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
op_node = add_operation_node(&object->id, DEG_NODE_TYPE_BONE, pchan->name,
NULL, DEG_OPCODE_BONE_LOCAL);
op_node->set_as_entry();

@ -78,7 +78,7 @@ void DepsgraphNodeBuilder::build_scene(Scene *scene)
/* Setup currently building context. */
scene_ = scene;
/* scene objects */
LINKLIST_FOREACH (Base *, base, &scene->base) {
BLI_LISTBASE_FOREACH (Base *, base, &scene->base) {
Object *object = base->object;
build_object(base, object);
}
@ -103,15 +103,15 @@ void DepsgraphNodeBuilder::build_scene(Scene *scene)
build_gpencil(scene->gpd);
}
/* Cache file. */
LINKLIST_FOREACH (CacheFile *, cachefile, &bmain_->cachefiles) {
BLI_LISTBASE_FOREACH (CacheFile *, cachefile, &bmain_->cachefiles) {
build_cachefile(cachefile);
}
/* Masks. */
LINKLIST_FOREACH (Mask *, mask, &bmain_->mask) {
BLI_LISTBASE_FOREACH (Mask *, mask, &bmain_->mask) {
build_mask(mask);
}
/* Movie clips. */
LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) {
BLI_LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) {
build_movieclip(clip);
}
/* Parameters evaluation for scene relations mainly. */

@ -193,7 +193,7 @@ static bool particle_system_depends_on_time(ParticleSystem *psys)
static bool object_particles_depends_on_time(Object *object)
{
LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
if (particle_system_depends_on_time(psys)) {
return true;
}
@ -349,7 +349,7 @@ void DepsgraphRelationBuilder::add_forcefield_relations(
{
ListBase *effectors = pdInitEffectors(scene, object, psys, eff, false);
if (effectors != NULL) {
LINKLIST_FOREACH(EffectorCache *, eff, effectors) {
BLI_LISTBASE_FOREACH(EffectorCache *, eff, effectors) {
if (eff->ob != object) {
ComponentKey eff_key(&eff->ob->id, DEG_NODE_TYPE_TRANSFORM);
add_relation(eff_key, key, name);
@ -429,7 +429,7 @@ void DepsgraphRelationBuilder::build_group(Object *object, Group *group)
OperationKey object_local_transform_key(&object->id,
DEG_NODE_TYPE_TRANSFORM,
DEG_OPCODE_TRANSFORM_LOCAL);
LINKLIST_FOREACH (GroupObject *, go, &group->gobject) {
BLI_LISTBASE_FOREACH (GroupObject *, go, &group->gobject) {
if (!group_done) {
build_object(go->ob);
}
@ -753,7 +753,7 @@ void DepsgraphRelationBuilder::build_constraints(ID *id,
else if (cti->get_constraint_targets) {
ListBase targets = {NULL, NULL};
cti->get_constraint_targets(con, &targets);
LINKLIST_FOREACH (bConstraintTarget *, ct, &targets) {
BLI_LISTBASE_FOREACH (bConstraintTarget *, ct, &targets) {
if (ct->tar == NULL) {
continue;
}
@ -938,7 +938,7 @@ void DepsgraphRelationBuilder::build_animdata_curves_targets(ID *id)
/* Iterate over all curves and build relations. */
PointerRNA id_ptr;
RNA_id_pointer_create(id, &id_ptr);
LINKLIST_FOREACH(FCurve *, fcu, &adt->action->curves) {
BLI_LISTBASE_FOREACH(FCurve *, fcu, &adt->action->curves) {
PointerRNA ptr;
PropertyRNA *prop;
int index;
@ -976,7 +976,7 @@ void DepsgraphRelationBuilder::build_animdata_drivers(ID *id)
return;
}
ComponentKey adt_key(id, DEG_NODE_TYPE_ANIMATION);
LINKLIST_FOREACH (FCurve *, fcu, &adt->drivers) {
BLI_LISTBASE_FOREACH (FCurve *, fcu, &adt->drivers) {
OperationKey driver_key(id,
DEG_NODE_TYPE_PARAMETERS,
DEG_OPCODE_DRIVER,
@ -1000,7 +1000,7 @@ void DepsgraphRelationBuilder::build_animdata_drivers(ID *id)
*/
if (fcu->array_index > 0) {
FCurve *fcu_prev = NULL;
LINKLIST_FOREACH (FCurve *, fcu_candidate, &adt->drivers) {
BLI_LISTBASE_FOREACH (FCurve *, fcu_candidate, &adt->drivers) {
/* Writing to different RNA paths is */
const char *rna_path = fcu->rna_path ? fcu->rna_path : "";
if (!STREQ(fcu_candidate->rna_path, rna_path)) {
@ -1130,7 +1130,7 @@ void DepsgraphRelationBuilder::build_driver_variables(ID *id, FCurve *fcu)
const char *rna_path = fcu->rna_path ? fcu->rna_path : "";
const RNAPathKey self_key(id, rna_path);
LINKLIST_FOREACH (DriverVar *, dvar, &driver->variables) {
BLI_LISTBASE_FOREACH (DriverVar *, dvar, &driver->variables) {
/* Only used targets. */
DRIVER_TARGETS_USED_LOOPER(dvar)
{
@ -1245,7 +1245,7 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene)
/* objects - simulation participants */
if (rbw->group) {
LINKLIST_FOREACH (GroupObject *, go, &rbw->group->gobject) {
BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->group->gobject) {
Object *object = go->ob;
if (object == NULL || object->type != OB_MESH) {
continue;
@ -1299,7 +1299,7 @@ void DepsgraphRelationBuilder::build_rigidbody(Scene *scene)
/* constraints */
if (rbw->constraints) {
LINKLIST_FOREACH (GroupObject *, go, &rbw->constraints->gobject) {
BLI_LISTBASE_FOREACH (GroupObject *, go, &rbw->constraints->gobject) {
Object *object = go->ob;
if (object == NULL || !object->rigidbody_constraint) {
continue;
@ -1335,7 +1335,7 @@ void DepsgraphRelationBuilder::build_particles(Object *object)
DEG_OPCODE_PARTICLE_SYSTEM_EVAL_INIT);
/* particle systems */
LINKLIST_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
BLI_LISTBASE_FOREACH (ParticleSystem *, psys, &object->particlesystem) {
ParticleSettings *part = psys->part;
/* particle settings */
@ -1369,8 +1369,8 @@ void DepsgraphRelationBuilder::build_particles(Object *object)
/* boids */
if (part->boids) {
LINKLIST_FOREACH (BoidState *, state, &part->boids->states) {
LINKLIST_FOREACH (BoidRule *, rule, &state->rules) {
BLI_LISTBASE_FOREACH (BoidState *, state, &part->boids->states) {
BLI_LISTBASE_FOREACH (BoidRule *, rule, &state->rules) {
Object *ruleob = NULL;
if (rule->type == eBoidRuleType_Avoid)
ruleob = ((BoidRuleGoalAvoid *)rule)->ob;
@ -1488,7 +1488,7 @@ void DepsgraphRelationBuilder::build_obdata_geom(Object *object)
DEG_NODE_TYPE_GEOMETRY,
DEG_OPCODE_GEOMETRY_UBEREVAL);
LINKLIST_FOREACH (ModifierData *, md, &object->modifiers) {
BLI_LISTBASE_FOREACH (ModifierData *, md, &object->modifiers) {
const ModifierTypeInfo *mti = modifierType_getInfo((ModifierType)md->type);
if (mti->updateDepsgraph) {
DepsNodeHandle handle = create_node_handle(obdata_ubereval_key);
@ -1681,7 +1681,7 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree *ntree)
DEG_OPCODE_PARAMETERS_EVAL);
/* nodetree's nodes... */
LINKLIST_FOREACH (bNode *, bnode, &ntree->nodes) {
BLI_LISTBASE_FOREACH (bNode *, bnode, &ntree->nodes) {
ID *id = bnode->id;
if (id == NULL) {
continue;

@ -341,8 +341,8 @@ void DepsgraphRelationBuilder::build_rig(Object *object)
*/
RootPChanMap root_map;
bool pose_depends_on_local_transform = false;
LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
LINKLIST_FOREACH (bConstraint *, con, &pchan->constraints) {
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH (bConstraint *, con, &pchan->constraints) {
switch (con->type) {
case CONSTRAINT_TYPE_KINEMATIC:
build_ik_pose(object, pchan, con, &root_map);
@ -382,7 +382,7 @@ void DepsgraphRelationBuilder::build_rig(Object *object)
}
/* links between operations for each bone */
LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
OperationKey bone_local_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_LOCAL);
OperationKey bone_pose_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_POSE_PARENT);
OperationKey bone_ready_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_READY);
@ -446,7 +446,7 @@ void DepsgraphRelationBuilder::build_proxy_rig(Object *object)
{
OperationKey pose_init_key(&object->id, DEG_NODE_TYPE_EVAL_POSE, DEG_OPCODE_POSE_INIT);
OperationKey pose_done_key(&object->id, DEG_NODE_TYPE_EVAL_POSE, DEG_OPCODE_POSE_DONE);
LINKLIST_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH (bPoseChannel *, pchan, &object->pose->chanbase) {
OperationKey bone_local_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_LOCAL);
OperationKey bone_ready_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_READY);
OperationKey bone_done_key(&object->id, DEG_NODE_TYPE_BONE, pchan->name, DEG_OPCODE_BONE_DONE);

@ -76,7 +76,7 @@ void DepsgraphRelationBuilder::build_scene(Scene *scene)
/* Setup currently building context. */
scene_ = scene;
/* Scene objects. */
LINKLIST_FOREACH (Base *, base, &scene->base) {
BLI_LISTBASE_FOREACH (Base *, base, &scene->base) {
Object *object = base->object;
build_object(object);
}
@ -101,11 +101,11 @@ void DepsgraphRelationBuilder::build_scene(Scene *scene)
build_gpencil(scene->gpd);
}
/* Masks. */
LINKLIST_FOREACH (Mask *, mask, &bmain_->mask) {
BLI_LISTBASE_FOREACH (Mask *, mask, &bmain_->mask) {
build_mask(mask);
}
/* Movie clips. */
LINKLIST_FOREACH (MovieClip *, clip, &bmain_->movieclip) {
BLI_LISTBASE_FOREACH (MovieClip *, clip, &bmain_->movieclip) {
build_movieclip(clip);
}
for (Depsgraph::OperationNodes::const_iterator it_op = graph_->operations.begin();

@ -155,7 +155,7 @@ static bool pointer_to_component_node_criteria(
return true;
}
else if (object->pose != NULL) {
LINKLIST_FOREACH(bPoseChannel *, pchan, &object->pose->chanbase) {
BLI_LISTBASE_FOREACH(bPoseChannel *, pchan, &object->pose->chanbase) {
if (BLI_findindex(&pchan->constraints, con) != -1) {
/* bone transforms */
*type = DEG_NODE_TYPE_BONE;

@ -328,12 +328,12 @@ void DEG_graph_on_visible_update(Main *bmain, Scene *scene)
return;
}
/* Special trick to get local view to work. */
LINKLIST_FOREACH (Base *, base, &scene->base) {
BLI_LISTBASE_FOREACH (Base *, base, &scene->base) {
Object *object = base->object;
DEG::IDDepsNode *id_node = graph->find_id_node(&object->id);
id_node->layers = 0;
}
LINKLIST_FOREACH (Base *, base, &scene->base) {
BLI_LISTBASE_FOREACH (Base *, base, &scene->base) {
Object *object = base->object;
DEG::IDDepsNode *id_node = graph->find_id_node(&object->id);
id_node->layers |= base->lay;
@ -343,7 +343,7 @@ void DEG_graph_on_visible_update(Main *bmain, Scene *scene)
}
}
DEG::deg_graph_build_flush_layers(graph);
LINKLIST_FOREACH (Base *, base, &scene->base) {
BLI_LISTBASE_FOREACH (Base *, base, &scene->base) {
Object *object = base->object;
DEG::IDDepsNode *id_node = graph->find_id_node(&object->id);
GHASH_FOREACH_BEGIN(DEG::ComponentDepsNode *, comp, id_node->components)