THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 26/04/2006 at 09:09, xxxxxxxx wrote:
Cinema 4D Version: 9.521
Language(s) : C++ ;
I'm using BaseDraw's Line2D, but when ever I get close to an object the Lines are drawn behind the object. How can I clip this correctly so that the lines are always drawn on top? Thanks in advance for any help.
On 26/04/2006 at 09:52, xxxxxxxx wrote:
you must watch for the correct drawing type in your draw function. See the SDK documentation for possible flags, as they are plugin hook dependant flags.
At least that´s what came to my mind in the first place. But actually it should rather draw in front of the object anyway.
Where are you exactly drawing in? Object, Tag, SceneHook...
On 26/04/2006 at 11:18, xxxxxxxx wrote:
Thanks for the quick reply. I'm using the draw function from TagData. Should I be perhaps drawing these lines from another type of Data (i.e BaseObject)?
On 26/04/2006 at 11:37, xxxxxxxx wrote:
Depends on what your plugin does and if it fits an Object plugin. But the object drawing takes place elsewhere in the pipeline, and maybe before. (TagData also has no passed drawing type variable, I noticed, and is maybe not really suited for 2D drawing?)
However, did you try to change the priority level in the settings of your tag (if it´s an expression tag) within Cinema 4D? Maybe that helps (although I remember that it only calls the Execution function of your tag, but am not sure, so maybe worth a try).
Is the front drawing an important feature of your plugin? If so, then using an object (if your code allows this) would be the better choice, cause it definetly works there.
Have you tried using Line3D()? if that´s feasible.
On 26/04/2006 at 13:05, xxxxxxxx wrote:
The 2D line drawing is the key feature of the plugin I am developing. I guess I'll need to look at incorporating the code into an object and see if that helps with the line drawing. Thanks
On 26/04/2006 at 19:59, xxxxxxxx wrote:
After trying the drawing pipeline with ObjectData, even with drawing the lines during the DRAWPASS_OBJECT flag the lines will be drawn behind any object in the scene. Now, if I draw the lines during the DRAWPASS_HANDLES flag the lines will be drawn correctly (on top of all objects in the scene), but they will only be drawn when the object is selected.
I still think that using the Draw function from the TagData should allow me to draw the Line2D function in front of everything in the scene. So is there anything in BaseView that will change the clippling for Line2D? (personally I think that Line2D should draw on top of everything by default).
Thanks in advance,
On 27/04/2006 at 00:40, xxxxxxxx wrote:
If nothign works, then try to use the new 'Drawing features like LineNew() in conjunction with LineZOffset(). That should work.
On 28/04/2006 at 16:22, xxxxxxxx wrote:
Thanks for all the help 3D Designer.
Even when using LineNew() with the LineZoffset(), the lines will only be drawn on top of the scene when the object that contains the tag is selected. As soon as I select another object the lines will be drawn in the very back of the scene. Is there anyway to have the lines always draw on top of the scene, regardless of what object is selected?
As always thanks in advance