Portals aren't really that complicate. For a portal you have exactly one mesh. This mesh is existing in both segments with different translation. I forgot to tell you more about some hidden settings on portals. I thought in the examples used by ship and stations there is everything on them. I was wrong. The ships and stations don't use transformed portal shapes.
For a portal you have the class TSegmentPortal in ScObjects.h at Proto2 project
The members "TSegmentPortalLink links[2]" are the binding endians which are used to bind to both segments at any location. To raise confusion, there are a few functions missing to set transforming parameters at an endian, so you need to assign values directly to the three members:
TSegmentPortalLink::bUseLocation = enables transforms. If disabled, the vertex positions of the shape are regarded as relative to the segment space.
TSegmentPortalLink::myOrient = orientation of the shape in bound segment (valid only if TSegmentPortalLink::bUseLocation is true).
TSegmentPortalLink::myPos = position of the shape in bound segment (valid only if TSegmentPortalLink::bUseLocation is true).
Then you can bind an endian to a segment by using TSegmentPortalLink::linkTo( seg ) alternatively to the function TSegmentPortal::linkTo( segA, segB ) which simply calls the first function.
chamile wrote:
For understanding: Is it possible that the shape of a portal is identical to a shape of an other portals target? I could imagine there will be curious effects like an endless jumping loop between both portals.
Didn't understood the question

The same portal shape is occuring at both targets.
chamile wrote:
I have created a basic parser that can read the structure defined above - currently filled with lots of dummies as target. The next quesion is where to place the data read from file. I found a "SegmentFile.cpp" in code, where such things are done. I expect to place it there. Some more informations?
?? I thought the file was lost. It is not used in the source. There is a part of a parser equal to the one you write. Never tested and never compiled. The file can be ignored.