Deformed Objects
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/07/2010 at 05:01, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R11.5
Platform: Windows ; Mac ;
Language(s) : C++ ;---------
Hi, how can I find out if an object is being affected by a deformer or not. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/07/2010 at 08:27, xxxxxxxx wrote:
Check this out:
BaseObject* BaseObject::GetDeformCache();
I'd say if it's not NULL, there has been some deformation going on
Cheers,
Jack -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/07/2010 at 08:49, xxxxxxxx wrote:
While that is correct, GetDeformCache() may return NULL for other reasons (and the object in question still be affected by a deformer) such as cache not yet built.
A better approach might be to see if the object's children are deformers as an additional test:
Bool deformed = (obj->GetDeformCache() != NULL); if (!deformed) { LONG info; for (BaseObject* child = obj->GetDown(); child; child = child->GetNext()) { info = child->GetInfo(); if (child->GetDeformMode() && ((info == OBJECT_MODIFIER) || (info == OBJECT_HIERARCHYMODIFIER))) { deformed = TRUE; break; } } }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/07/2010 at 09:30, xxxxxxxx wrote:
Thanks all. The only problem with checking for deformers as children is that a deformer can affect it's parent object and the hierarchy below that parent, which means I will have to traverse the whole hierarchy from the top level parent, which I was trying to avoid.
Cheers,
JDP