THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/09/2008 at 12:12, xxxxxxxx wrote:
Cinema 4D Version: R9+
Platform: Windows ; Mac ; Mac OSX ;
Language(s) : C++ ;
How can you tell if a spline is being deformed? It seems that this line:
> \> if(spline->GetDeformCache()) \>
\> if(spline->GetDeformCache()) \>
... always returns FALSE whether the spline is being deformed or not. I realize that the deform cache is always polygonal, as stated in the SDK documentation, so I understand why it's returning FALSE, but how do you know when a spline is being deformed?
> \> If(op->GetDeformCache()) \>
\> If(op->GetDeformCache()) \>
...can be used on a polygonal object to first check if the object is being deformed before sending the modeling command "MCOMMAND_CURRENTSTATETOOBJECT" and if it doesn't have a deform cache then it's not being deformed, so you can skip the modeling command call.
But for a spline, I don't see any function in the SDK documentation that will check if the spline is being deformed. :o(
On 11/09/2008 at 04:39, xxxxxxxx wrote:
I would also be interested to know for splines. It´s the intented behavior though that there is only a deform cache for polygonal objects (see the docs).
As an idea you could call GetVirtualLineObject? Maybe it will only return something when the spline is deformed. Just an idea but am absolutely not sure if it´s working that way or if it´s fast enough...
On 11/09/2008 at 07:47, xxxxxxxx wrote:
Well, it sounds like that function shouldn't be called from a TagData::Execute() function. But anyway, it also looks like always calling MCOMMAND_CURRENTSTATETOOBJECT would be faster than GetVirtualLineObject(). :o(
On 11/09/2008 at 07:49, xxxxxxxx wrote:
Hmm, when you are in a tag, wouldn´t it be faster to browse the child hierarchy and detect modifiers and if they are turned on? (except of course there exists an SDK function to directly detect this...)
On 11/09/2008 at 08:05, xxxxxxxx wrote:
Yeah, I could do that, but I was hoping to find a simple one line function call for splines, that would work as easily as the if(op->GetDeformCache()) works for objects. ;o)
Currently I'm just always calling MCOMMAND_CURRENTSTATETOOBJECT and since it's only a spline, it doesn't seem to be slowing anything down.