Strange behave of BaseDraw



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/07/2008 at 07:03, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   10.5 
    Platform:      
    Language(s) :     C++  ;

    ---------
    Hi!

    I wanted to draw an HANDLE-dot (HANDLE_3D) in the current viewport.

    Bool Calculate(GvNode *bn, GvPort *port, GvRun *run, GvCalc *calc)
    {
       BaseDraw* t = bn->GetDocument()->GetActiveBaseDraw();
       t->Handle3D(Vector(70), HANDLE_BIG);
       [...]
    }

    That's the result:

    I have to use it in Calculate and not in SceneDraw..

    Thanks :)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/07/2008 at 08:14, xxxxxxxx wrote:

    Must be done in SceneDraw(). This is the place where C4D draws into the viewport - any other place doesn't get to the viewport because it is not being done at the viewport draw stage encapsulated by SceneDraw() (or any similar method).

    So, you'll need to store whatever information goes into the draw calculated in Calculate() and use it in SceneDraw() (which is called quite often). Then the draw will be in the proper place in the pipeline.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/07/2008 at 08:25, xxxxxxxx wrote:

    Hi!

    Thanks :) Okay, I check out, how I'll do it.


Log in to reply