On 15/05/2015 at 09:39, xxxxxxxx wrote:
Hi Sebastian,
I know that was discussed earlier in one of my threads, but I got a little of confusion, which to choose and where: "the link for a good snippet is here also, https://developers.maxon.net/docs/Cinema4DCPPSDK/html/class_base_object.html#aceb4039aaf9b2235d1f43f1e060a4d6d"
and here "https://developers.maxon.net/docs/Cinema4DCPPSDK/html/class_base_object.html#a6b249a119e991c6199a9d2deccfd0078"
1- GetCacheParent()
2- GetCache()
3- GetDeformCache()
let's consider a complex hierarchy where you have a cloner object, with lots of children, with deformers, cache tags/dynamic tags.
what I understand:
RayObject is the final state that I want for raytracing.
what I need:
extra data from objects that may affect cache "like cloner object, deformer, tag, ...".
from previous thread "sorry for not searching for it earlier, it got a good info about index of mograph generated clones"
BaseObject \* cacheParent = rayObject->link->GetCacheParent();
if(cacheParent)
{
BaseContainer \* bc = cacheParent->GetDataInstance();
const Int32 index = bc->GetInt32(BC_ID_MODATAINDEX,NOTOK);
if(index != NOTOK)
{
GePrint("index: "+String::IntToString(index));
}
}
now let's consider it is affected by many things as stated above, does these "caches" guarantee to be called in a specific order? or I call any of them in a large loop and check if any one "enters" so I go with it.
the cache system is kinda complex so bare with me