Hi Marvin,

to understand SUMO code and tests the following (Linux) commands are helpful for me (started from the base dir of a sumo-all package)

   findsrc -name '*.cpp'|xargs grep indirectLeft

      Find all places in cpp files below src, which contain the string
   indirectLeft

   findtests -type f -print0 |xargs -0 grep  indirect

      Find all places in the test suite, which use the string indirect
   (the print0 / -0 arguments are needed for file names with blanks)

These commands work also under Windows in a cygwin environment or WSL (Windows Subsystem for Linux).

Search the internet for "linux use find and xargs" for explanations.

Another error (which I have made myself too) is:

You change a program and see no changes. The reason is due to the settings in the PATH-Variables the previously installed program gets executed, not your modified one.

Have fun and success in your project,

Harald

Am 12.12.21 um 23:06 schrieb Jakob Erdmann:
If you are experienced in C++ programming and analyzing other peoples code then changing some variables and seeing what happens can be a viable approach to understand netconvert / netedit. Note, that we don't have the resources to teach you any of this nor to explain the details of the codebase.

Otherwise I'd recommend a different route:
- develop a formula that describes the parameters of intersections with indirect left bicycle turns (ideally, you can back your formula and its numerical parameters with a number of real world examples) - use sumolib to find these intersections for a given .net.xml file https://sumo.dlr.de/docs/Tools/Sumolib.html - write a python program that defines xml patch files for these connections that sets the 'indirectLeft' attribute   - https://sumo.dlr.de/docs/Networks/PlainXML.html#connection_descriptions   - https://sumo.dlr.de/docs/Tutorials/ScenarioGuide.html#modifying_the_network - if you are confident that your formula works well, document the formula and your example data and let me  worry about getting it plugged into netconvert / netedit.

regards,
Jakob

Am Sa., 11. Dez. 2021 um 19:04 Uhr schrieb Gran, Marvin <marvin.g...@campus.tu-berlin.de>:

    Hello,
    Jakobs answer was very helpful! I followed his advice and looked
    for the attribute 'indirectLeft'  in the NetConvert. The
    NetConvert uses the NBNetBuilder, which uses the NBEdge. There is
    a function buildInnerEdges which uses this variable in a
    significant way. I tried to set it to True on a trial basis,
    expecting that this would result in the Netedit building indirect
    lefts everywhere. If this would have worked I would have been at
    the right place in the code and could have started my planned
    changes here. Unfortunately I could not notice any change after
    recompiling the solution, which confused me a lot. Am I at the
    right place of the code or completely wrong?
    Best regards, Marvin Gran
    ------------------------------------------------------------------------
    *Von:* sumo-dev <sumo-dev-boun...@eclipse.org> im Auftrag von
    Jakob Erdmann <namdre.s...@gmail.com>
    *Gesendet:* Donnerstag, 9. Dezember 2021 15:24:13
    *An:* sumo developer discussions
    *Betreff:* Re: [sumo-dev] Student project
    Hello,
    each connection already has the attribute 'indirectLeft' which
    controls whether it should be a smooth curve (like a car) or
    consist of two straight sections and this attribute can be set in
    netedit. Hence I don't think a netedit extension is needed.
    However, it would be useful to add netconvert option that enables
    a heuristic for setting this attribute automatically based on
    junction size, road speed, road class or anything else that might
    be a contributing factor. This should mainly take effect when
    importing network data without fully specified connections but
    could also be designed to permit updating existing .net.xml files
    Note, that such an option would also take effect when creating new
    intersections in netedit since it uses netconvert as a back-end
    for guessing connections.

    see also
    https://sumo.dlr.de/docs/FAQ.html#how_do_code_contributions_work

    regards,
    Jakob


    Am Do., 9. Dez. 2021 um 14:09 Uhr schrieb Gran, Marvin
    <marvin.g...@campus.tu-berlin.de>:

        Hi,

        I am a student from TU Berlin in Germany and represent a
        student group of 7 people who want to create an extension for
        Sumo. We are primarily interested in making the behavior of
        cyclists more realistic based on collected data. Our current
        idea is to make cyclists behave differently at intersections
        depending on the size of the intersection and the surrounding
        traffic. Depending on the factors mentioned above, cyclists
        should either turn left directly like a car or alternatively
        make an indirect bycycle turn. Our approach is to work in
        Netedit, so that the connections at intersections are
        automatically generated differently depending on these
        factors. We are still at the beginning of the project and
        wonder if this is going in the right direction? Also a pointer
        where to do such changes in Netedit would be great!
        Best regards, Marvin Gran
        _______________________________________________
        sumo-dev mailing list
        sumo-dev@eclipse.org
        To unsubscribe from this list, visit
        https://www.eclipse.org/mailman/listinfo/sumo-dev

    _______________________________________________
    sumo-dev mailing list
    sumo-dev@eclipse.org
    To unsubscribe from this list, visit
    https://www.eclipse.org/mailman/listinfo/sumo-dev


_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, 
visithttps://www.eclipse.org/mailman/listinfo/sumo-dev
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, visit 
https://www.eclipse.org/mailman/listinfo/sumo-dev

Reply via email to