static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	SimpleDeformModifierData *smd  = (SimpleDeformModifierData *)md;

	if (smd->origin)
		dag_add_relation(forest, dag_get_node(forest, smd->origin), obNode, DAG_RL_OB_DATA, "SimpleDeform Modifier");
}
Example #2
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Main *UNUSED(bmain),
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob), DagNode *obNode)
{
	WarpModifierData *wmd = (WarpModifierData *) md;

	if (wmd->object_from && wmd->object_to) {
		DagNode *fromNode = dag_get_node(forest, wmd->object_from);
		DagNode *toNode = dag_get_node(forest, wmd->object_to);

		dag_add_relation(forest, fromNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Warp Modifier1");
		dag_add_relation(forest, toNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Warp Modifier2");
	}

	if ((wmd->texmapping == MOD_DISP_MAP_OBJECT) && wmd->map_object) {
		DagNode *curNode = dag_get_node(forest, wmd->map_object);
		dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Warp Modifier3");
	}
}
Example #3
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	CastModifierData *cmd = (CastModifierData *) md;

	if (cmd->object) {
		DagNode *curNode = dag_get_node(ctx->forest, cmd->object);

		dag_add_relation(ctx->forest, curNode, ctx->obNode, DAG_RL_OB_DATA,
		                 "Cast Modifier");
	}
}
Example #4
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	LatticeModifierData *lmd = (LatticeModifierData *) md;

	if (lmd->object) {
		DagNode *latNode = dag_get_node(ctx->forest, lmd->object);

		dag_add_relation(ctx->forest, latNode, ctx->obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Lattice Modifier");
	}
}
Example #5
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	CurveModifierData *cmd = (CurveModifierData *) md;

	if (cmd->object) {
		DagNode *curNode = dag_get_node(ctx->forest, cmd->object);
		curNode->eval_flags |= DAG_EVAL_NEED_CURVE_PATH;

		dag_add_relation(ctx->forest, curNode, ctx->obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Curve Modifier");
	}
}
Example #6
0
static void uv_warp_deps_object_bone(DagForest *forest, DagNode *obNode,
                                Object *obj, const char *bonename)
{
	if (obj) {
		DagNode *curNode = dag_get_node(forest, obj);

		if (bonename[0])
			dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA | DAG_RL_DATA_DATA, "UVWarp Modifier");
		else
			dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA, "UVWarp Modifier");
	}
}
Example #7
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
						Scene *UNUSED(scene),
						Object *UNUSED(ob),
						DagNode *obNode)
{
	WaveModifierData *wmd = (WaveModifierData*) md;

	if(wmd->objectcenter) {
		DagNode *curNode = dag_get_node(forest, wmd->objectcenter);

		dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA,
			"Wave Modifier");
	}

	if(wmd->map_object) {
		DagNode *curNode = dag_get_node(forest, wmd->map_object);

		dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA,
			"Wave Modifer");
	}
}
Example #8
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Main *UNUSED(bmain),
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob), DagNode *obNode)
{
	NormalEditModifierData *enmd = (NormalEditModifierData *) md;

	if (enmd->target) {
		DagNode *Node = dag_get_node(forest, enmd->target);

		dag_add_relation(forest, Node, obNode, DAG_RL_OB_DATA, "NormalEdit Modifier");
	}
}
Example #9
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	MaskModifierData *mmd = (MaskModifierData *)md;

	if (mmd->ob_arm) {
		bArmature *arm = (bArmature *)mmd->ob_arm->data;
		DagNode *armNode = dag_get_node(ctx->forest, mmd->ob_arm);

		/* tag relationship in depsgraph, but also on the armature */
		dag_add_relation(ctx->forest, armNode, ctx->obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Mask Modifier");
		arm->flag |= ARM_HAS_VIZ_DEPS;
	}
}
static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene),
                           Object *UNUSED(ob), DagNode *obNode)
{
	DataTransferModifierData *dtmd = (DataTransferModifierData *) md;
	DagNode *curNode;

	if (dtmd->ob_source) {
		curNode = dag_get_node(forest, dtmd->ob_source);

		dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA,
		                 "DataTransfer Modifier");
	}
}
Example #11
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
						struct Scene *UNUSED(scene),
						Object *UNUSED(ob),
						DagNode *obNode)
{
	MaskModifierData *mmd = (MaskModifierData *)md;

	if (mmd->ob_arm) {
		DagNode *armNode = dag_get_node(forest, mmd->ob_arm);
		
		dag_add_relation(forest, armNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Mask Modifier");
	}
}
static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene),
                           Object *UNUSED(ob), DagNode *obNode)
{
	WeightVGProximityModifierData *wmd = (WeightVGProximityModifierData *) md;
	DagNode *curNode;

	if (wmd->proximity_ob_target) {
		curNode = dag_get_node(forest, wmd->proximity_ob_target);
		dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA,
		                 "WeightVGProximity Modifier");
	}

	if (wmd->mask_tex_map_obj && wmd->mask_tex_mapping == MOD_DISP_MAP_OBJECT) {
		curNode = dag_get_node(forest, wmd->mask_tex_map_obj);

		dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA,
		                 "WeightVGProximity Modifier");
	}

	if (wmd->mask_tex_mapping == MOD_DISP_MAP_GLOBAL)
		dag_add_relation(forest, obNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA,
		                 "WeightVGProximity Modifier");
}
Example #13
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	UVProjectModifierData *umd = (UVProjectModifierData *) md;
	int i;

	for (i = 0; i < umd->num_projectors; ++i) {
		if (umd->projectors[i]) {
			DagNode *curNode = dag_get_node(ctx->forest, umd->projectors[i]);

			dag_add_relation(ctx->forest, curNode, ctx->obNode,
			                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "UV Project Modifier");
		}
	}
}
Example #14
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	ArmatureModifierData *amd = (ArmatureModifierData *) md;

	if (amd->object) {
		DagNode *curNode = dag_get_node(forest, amd->object);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Armature Modifier");
	}
}
Example #15
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	LatticeModifierData *lmd = (LatticeModifierData *) md;

	if (lmd->object) {
		DagNode *latNode = dag_get_node(forest, lmd->object);

		dag_add_relation(forest, latNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Lattice Modifier");
	}
}
Example #16
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
						Scene *UNUSED(scene),
						Object *UNUSED(ob),
						DagNode *obNode)
{
	CurveModifierData *cmd = (CurveModifierData*) md;

	if (cmd->object) {
		DagNode *curNode = dag_get_node(forest, cmd->object);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Curve Modifier");
	}
}
Example #17
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	MeshDeformModifierData *mmd = (MeshDeformModifierData *) md;

	if (mmd->object) {
		DagNode *curNode = dag_get_node(forest, mmd->object);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA | DAG_RL_DATA_OB | DAG_RL_OB_OB,
		                 "Mesh Deform Modifier");
	}
}
Example #18
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Main *UNUSED(bmain),
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	BooleanModifierData *bmd = (BooleanModifierData *) md;

	if (bmd->object) {
		DagNode *curNode = dag_get_node(forest, bmd->object);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Boolean Modifier");
	}
}
Example #19
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
						struct Scene *UNUSED(scene),
						Object *UNUSED(ob),
						DagNode *obNode)
{
	ParticleInstanceModifierData *pimd = (ParticleInstanceModifierData*) md;

	if (pimd->ob) {
		DagNode *curNode = dag_get_node(forest, pimd->ob);

		dag_add_relation(forest, curNode, obNode,
				 DAG_RL_DATA_DATA | DAG_RL_OB_DATA,
				 "Particle Instance Modifier");
	}
}
Example #20
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Main *UNUSED(bmain),
                           Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	CurveModifierData *cmd = (CurveModifierData *) md;

	if (cmd->object) {
		DagNode *curNode = dag_get_node(forest, cmd->object);
		curNode->eval_flags |= DAG_EVAL_NEED_CURVE_PATH;

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Curve Modifier");
	}
}
Example #21
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	MaskModifierData *mmd = (MaskModifierData *)md;

	if (mmd->ob_arm) {
		bArmature *arm = (bArmature *)mmd->ob_arm->data;
		DagNode *armNode = dag_get_node(forest, mmd->ob_arm);
		
		/* tag relationship in depsgraph, but also on the armature */
		dag_add_relation(forest, armNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Mask Modifier");
		arm->flag |= ARM_HAS_VIZ_DEPS;
	}
}
Example #22
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
						struct Scene *UNUSED(scene),
						Object *UNUSED(ob),
						DagNode *obNode)
{
	HookModifierData *hmd = (HookModifierData*) md;

	if (hmd->object) {
		DagNode *curNode = dag_get_node(forest, hmd->object);
		
		if (hmd->subtarget[0])
			dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA|DAG_RL_DATA_DATA, "Hook Modifier");
		else
			dag_add_relation(forest, curNode, obNode, DAG_RL_OB_DATA, "Hook Modifier");
	}
}
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Main *bmain,
                           struct Scene *scene,
                           Object *ob, DagNode *obNode)
{
	MeshSeqCacheModifierData *mcmd = (MeshSeqCacheModifierData *) md;

	if (mcmd->cache_file != NULL) {
		DagNode *curNode = dag_get_node(forest, mcmd->cache_file);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Cache File Modifier");
	}

	UNUSED_VARS(bmain, scene, ob);
}
Example #24
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	UVProjectModifierData *umd = (UVProjectModifierData *) md;
	int i;

	for (i = 0; i < umd->num_projectors; ++i) {
		if (umd->projectors[i]) {
			DagNode *curNode = dag_get_node(forest, umd->projectors[i]);

			dag_add_relation(forest, curNode, obNode,
			                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "UV Project Modifier");
		}
	}
}
Example #25
0
static void updateDepgraph(ModifierData *md, DagForest *forest, Scene *scene, Object *ob, DagNode *obNode)
{
	ClothModifierData *clmd = (ClothModifierData *) md;
	
	Base *base;
	
	if (clmd) {
		for (base = scene->base.first; base; base = base->next) {
			Object *ob1 = base->object;
			if (ob1 != ob) {
				CollisionModifierData *coll_clmd = (CollisionModifierData *)modifiers_findByType(ob1, eModifierType_Collision);
				if (coll_clmd) {
					DagNode *curNode = dag_get_node(forest, ob1);
					dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Cloth Collision");
				}
			}
		}
	}
}
Example #26
0
static void updateDepgraph(ModifierData *md, const ModifierUpdateDepsgraphContext *ctx)
{
	DisplaceModifierData *dmd = (DisplaceModifierData *) md;

	if (dmd->map_object && dmd->texmapping == MOD_DISP_MAP_OBJECT) {
		DagNode *curNode = dag_get_node(ctx->forest, dmd->map_object);

		dag_add_relation(ctx->forest, curNode, ctx->obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier");
	}


	if (dmd->texmapping == MOD_DISP_MAP_GLOBAL ||
	    (ELEM(dmd->direction, MOD_DISP_DIR_X, MOD_DISP_DIR_Y, MOD_DISP_DIR_Z, MOD_DISP_DIR_RGB_XYZ) &&
	    dmd->space == MOD_DISP_SPACE_GLOBAL))
	{
		dag_add_relation(ctx->forest, ctx->obNode, ctx->obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier");
	}
}
Example #27
0
static void updateDepgraph(ModifierData *md, DagForest *forest,
                           struct Scene *UNUSED(scene),
                           Object *UNUSED(ob),
                           DagNode *obNode)
{
	DisplaceModifierData *dmd = (DisplaceModifierData *) md;

	if (dmd->map_object && dmd->texmapping == MOD_DISP_MAP_OBJECT) {
		DagNode *curNode = dag_get_node(forest, dmd->map_object);

		dag_add_relation(forest, curNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier");
	}
	

	if (dmd->texmapping == MOD_DISP_MAP_GLOBAL)
		dag_add_relation(forest, obNode, obNode,
		                 DAG_RL_DATA_DATA | DAG_RL_OB_DATA, "Displace Modifier");
	
}
Example #28
0
static void updateDepgraph(
		ModifierData *md, DagForest *forest, Scene *scene,
	  Object *ob, DagNode *obNode)
{
	FluidsimModifierData *fluidmd= (FluidsimModifierData*) md;
	Base *base;

	if (fluidmd && fluidmd->fss) {
		if (fluidmd->fss->type == OB_FLUIDSIM_DOMAIN) {
			for (base = scene->base.first; base; base= base->next) {
				Object *ob1= base->object;
				if (ob1 != ob) {
					FluidsimModifierData *fluidmdtmp = (FluidsimModifierData *)modifiers_findByType(ob1, eModifierType_Fluidsim);
					
					/* only put dependencies from NON-DOMAIN fluids in here */
					if (fluidmdtmp && fluidmdtmp->fss && (fluidmdtmp->fss->type!=OB_FLUIDSIM_DOMAIN)) {
						DagNode *curNode = dag_get_node(forest, ob1);
						dag_add_relation(forest, curNode, obNode, DAG_RL_DATA_DATA|DAG_RL_OB_DATA, "Fluidsim Object");
					}
				}
			}
		}
	}
}