forked from bartvdbraak/blender
Cleanup: reaname LINKLIST_FOREACH -> LISTBASE
LinkList's are a different API, no need to confuse things.
This commit is contained in:
parent
5a61c1de82
commit
889321e22b
@ -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,9 +128,9 @@ if ((lb)->last && (lb_init || (lb_init = (lb)->last))) { \
|
||||
(lb_iter != lb_init)); \
|
||||
}
|
||||
|
||||
#define LINKLIST_FOREACH(type, var, list) \
|
||||
for (type var = (type)((list)->first); \
|
||||
var != NULL; \
|
||||
#define BLI_LISTBASE_FOREACH(type, var, list) \
|
||||
for (type var = (type)((list)->first); \
|
||||
var != NULL; \
|
||||
var = (type)(((Link*)(var))->next))
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user