[CONNECT] Transient DGN Elements

  • I believe that transient elements are located in a transient element cache or model?
  • How can I read transient elements from that location?

To be clear, I am not creating transient elements.  I want to know if I can read transient elements created by another app or by MicroStation.

  • Hi Jon,

    I believe that transient elements are located in a transient element cache or model?

    because mdlModelRef_getTransient() function exists, I guess the is "transient model", that is not persisted anywhere (existing in-memory only during a session).

    How can I read transient elements from that location?

    Because it seems to be standard modelRef, probably normal iteration should work.

    I want to know if I can read transient elements created by another app or by MicroStation.

    A question is whether every application has own transient morel or not.

    But, actually, why do you need to know what transient elements have been created by another applications?

    Regards,

      Jan

  • Because it seems to be standard modelRef

    But how to I obtain a reference to the transient model?

    Why do you need to know what transient elements have been created by another applications?

    I'm investigating the realm of the possible, inspired by this question.  If it were possible to obtain the transients of (in that example) a thematic display, then those could be used to create something else, such as a mesh element.

     
    Regards, Jon Summers
    LA Solutions

  • But how to I obtain a reference to the transient model?

    As I wrote: use mdlModelRef_getTransient()

    I did not test it, but from the documentation: Gets the transient modelRef. The value returned will always be the same for a given session.

    If it were possible to obtain the transients of (in that example) a thematic display, then those could be used to create something else, such as a mesh element.

    In my opinion the idea that thematic display is based on transient elements is wrong (but of course, maybe I am not right completely ;-).

    Reasons why it sounds weird to me are:

    • Element can be easily resymbolized before it's displayed using standard API (existed in V8i also). So why to duplicate elements (persisted + transient) to display elements in a different way?
    • There is no simple 1:1 mapping between persisted element and it's representation, because it can be hidden partially or split into several pieces, plus shaded using color gradient. It cannot be achieved using transient element (or, in fact, any simple element display).

    I assume it's graphic card responsibility to take input element, to process them (tessellation etc.) and to display using specific rendering.

    Regards,

      Jan

  • In my opinion the idea that thematic display is based on transient elements is wrong (but of course, maybe I am not right completely ;-).

    You are correct, no transients are involved.

    Because it seems to be standard modelRef, probably normal iteration should work.

    The "transient" modelRef isn't a real DgnModelRef for historical reasons and doesn't refer to a DgnModel so normal element read/write can't be used.

    HTH

    -B



    Answer Verified By: Jon Summers