No refresh for deformer.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/12/2004 at 11:53, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 9
Platform: Windows ;
Language(s) : C++ ;---------
Hi listI have a problem with a plug that get like a argument a external spline.
The plugin is a standard deformer that use the spline as link to deform object.
When i modify spline points or global matrix , the plugin don't refresh.Any help?
Thanks
Renato T.ps. sorry for english, i hope that someone understand what i mean.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 03:54, xxxxxxxx wrote:
you have to overload the CheckDirty function. More info in the SDK docs.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 04:00, xxxxxxxx wrote:
Katachi,
in SDK i see:
You can overload this function to check for a change in a deformer object manually. This example will make your deformer update every frame.Can i overload this function to see if a spline is change?
Thanks
Renato T -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 04:09, xxxxxxxx wrote:
yes, you could use GetDirty() to check if the checksum changed.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 04:35, xxxxxxxx wrote:
THANSK! IT WORK!
Cheers
Renato T. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 05:26, xxxxxxxx wrote:
good luck with your plugin.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 05:40, xxxxxxxx wrote:
Thanks, but there are some little things that i must verify.
With old scene this seem not work, with a fresh scene it's working.Maybe that i wrong.
void PathDeformer::CheckDirty(PluginObject* op, BaseDocument* doc)
{
BaseContainer *data = op->GetDataInstance();
BaseObject *spline=data->GetObjectLink(PATHDEFORMER_SPLINE,doc);
if (spline)
{
if (spline->IsDirty(DIRTY_DATA) )
{
//GePrint("Points Changed");
op->SetDirty(DIRTY_DATA);
}if (spline->IsDirty(DIRTY_MATRIX))
{
//GePrint("Matrix Changed");
op->SetDirty(DIRTY_MATRIX);
}
else GePrint ("damn!");
}
}what do you think?
thanks
Renato T. -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 06:01, xxxxxxxx wrote:
I wouldn´t do it with isDirty but with GetDirty()!
Create a private member in your object class, sth like:
private:
ULONG s_dirty;then use something like (pseudo-code) :
ULONG dirty_bit = spline->GetDirty(DIRTY_DATA|DIRTY_MATRIX); if(dirty_bit!=s_dirty) { s_dirty = dirty_bit; op->SetDirty(DIRTY_MATRIX); /*Or DIRTY_DATA depending on when your deformer updates*/ }
Katachi
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 05/12/2004 at 06:23, xxxxxxxx wrote:
Ok, now it work... it will work, must test
Thanks
Renato T.