PlantUML: Как контролировать выравнивание классов одного ранга? - PullRequest
0 голосов
/ 04 июня 2019

Я недавно узнал, что сорта Plantuml выравнивают все классы одного ранга.Каждый класс затем центрируется вокруг невидимой линии, соответствующей этому рангу

Пример:

example 1

Здесь класс 1, класс 2, класс 3 и класс 4 имеют одинаковый ранг исосредоточиться вокруг невидимой линии для этого ранга.

На такой простой диаграмме, как эта, это не такая большая проблема, но она становится немного неловкой на более сложных диаграммах

Пример:

    @startuml

    skinparam linetype ortho

    namespace namespace1 {

    class ParentClass{
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    }

    ParentClass -- Class1
    ParentClass -- Class2
    ParentClass -- Class3
    ParentClass -- Class4


    class Class1{
    something
    something
    something
    something
    something
    somethins
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    something
    }

    class Class2{
    something
    something
    something
    something
    something
    something
    something

    }

    class Class3{
    something
    something
    something
    something
    }

    class Class4{
    something
    something
    }

    }

    namespace namespace2 {
    OtherParentClass -- Class1
    OtherParentClass -- Class2

    class Class1{
    something
    }

    class Class2{
    something
    }

    }
    @enduml

Imgur

В namespace2 в этом примере дочерние классы действительно далеки от родительского класса.

Есть ли способ лучше контролировать это?В идеале я хотел бы иметь возможность центрировать все классы одного ранга по направлению к вершине или даже иметь возможность сбрасывать позицию невидимой линии ранжирования (чтобы в пространстве имен2 позиция Class1, Class2 не зависела от позиционированияклассы в пространстве имен1)

...