On 30/04/2013 at 13:55, xxxxxxxx wrote:
Cinema 4D Version: r14
Platform: Windows ;
Language(s) : C++ ;
i am using GetRad to get the Boundingbox of an object. This works fine until i try to get it from a NurbsObject. Then only 0,0,0 is returned. How do i get the Boundingbox for NurbsObjects?
thanks in advance,
On 30/04/2013 at 14:23, xxxxxxxx wrote:
GetRad() does work fine for me in python (also on NURBS objects). This has to be a cpp specific
problem or, as things working in python but do not working in cpp are really rare, you are doing
something wrong. Are you sure your nurbs generator has a properly build cache ? Or in other
words - GetRad() won't work for most objects if you have not inserted them into a document.
On 30/04/2013 at 15:16, xxxxxxxx wrote:
hm, i am using it like this:
BaseList2D myObjectLink = bc->GetLink(OBJECTLINK,doc);
myObject = static_cast<BaseObject*>(myObjectLink->GetClone(COPYFLAGS_0, NULL));
if (myObject )
Vector baseSize = myObject ->GetRad();
On 30/04/2013 at 15:46, xxxxxxxx wrote:
i am not really sure about all that cpp stuff but GetClone() might be the culprit, i think the
cloned object does not inherit the cache from its parent and as long you do not insert the
clone into the document there won't be build a new one.
a solution might be to try to cast the BaseList2D from GetLink directly into a BaseObject,
so that you can invoke GetRad() on the object in your document, but again i do have almost
no clue whats going on in cpp and this barely more than brain farting
On 02/05/2013 at 08:25, xxxxxxxx wrote:
The bounding box is returned if I do CurrentStateToObject on the clone before calling GetRad(). The ModelingCommandData result isn't used.
Presumably this is due to the cache being rebuilt. I wasn't able to find a more elegant way of doing this.
On 02/05/2013 at 09:48, xxxxxxxx wrote: