SceneHookData::Draw not clearing
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 16/03/2004 at 15:30, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.206
Platform:
Language(s) : C++ ;---------
Hi,
Im trying to draw a line in the editor with a SceneHookData plugin.
The problem I'm having is that the an 'echo' of my drawing is left behind in the editor until it is rotated, moved or scaled.Bool SceneHookTest::Draw(PluginSceneHook *node, BaseDocument *doc, BaseDraw *bd, BaseDrawHelp *bh, BaseThread *bt, LONG flags) { GePrint(LongToString(GeGetTimer()) + ": SceneHookTest::Draw()"); BaseObject *op = doc->GetActiveObject(); if(!op) return SceneHookData::Draw(node,doc,bd,bh,bt,flags); bd->SetPen(Vector(1,1,0)); bd->Line3D(Vector(0), op->GetPos()*bh->GetMg()); return SceneHookData::Draw(node,doc,bd,bh,bt,flags); }
This draws a line like it should, if I move an object around with the move tool, a line3d updates like it should, but if I rotate the viewport and then drag the object, two line3d's appear.
One of them is in the old location, and one of them is in the correct location.Have a look at the image below for an animated example, you can see at the end of the animation, there are now two lines. If I rotate the viewport, the old line will be erased, but the problem starts over again with new locations.
What am I doing wrong?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 20/03/2004 at 02:34, xxxxxxxx wrote:
Hi Ian,
just a guess, but could it be an OpenGL issue? It seems that the old line is not deleted because of a "smart refresh" of the editor...Cheers,
Arndt