Eulergraph
    Preparing search index...

    Базовый класс, от которого все наследуются.

    Стабильный ID типа для сериализации (className в JSON) и ключа в elementsLibstatic readonly typeName. Не зависит от минификации. Объявляйте на каждом конкретном cell-классе; на GraphicElement значение не задаётся. При наследовании обязательно переопределите — иначе assertCellTypeName выбросит ошибку. См. ../../guide/typeName и сериализация cell-классов.md.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    _angle: number = 0

    угол в градусах

    _centerOfRotation: CenterOfRotation
    _height: number = 100

    Высота

    _isBlocked: boolean = false
    _isPrintable: boolean = true
    _isVisible: boolean = true
    _magnetPoints: Point[] = []
    _parent: string | null = null

    Родительская ячейка. Может быть только одна. Наличие его означает, что элемент в группе

    _position: Point = ...

    Позиция всегда верхний левый угол

    _width: number = 100

    Ширина

    angleRad: number = 0

    угол в радианах

    annotatedText: AnnotatedText[] = []
    bbox: Rect = ...
    bboxEdges: BboxEdges = ...
    cashCanvas: OffscreenCanvas | null = null
    children: GraphicElement[] = []

    Дочерние ячейки. Если массив не пуст, значит ячейка является группой

    compassPoints: CompassPoints | null = null
    cornerPoints: Point[] = []

    Угловые точки от левого нижнего угла по часовой стрелке, с учетом поворота, в глобальных координатах

    cursorName: string = "DRAG_CELL_SVG"

    Название курсора, который задан в cursorCollection, который будет показываться при наведении на фигуру. Если пустая строка, будет показан станадартный, указанный в cursorName, если задан, standardCursor нужно выставить 'none'

    cursorTrasform: string = "translate(-50%, -50%) "

    Смещение кастомного курсора

    customAttrs: CustomAttrs = ...

    Предназначен для расширения атрибутами

    customRender: ((ctx: CanvasRenderingContext2D, zoom: number) => void) | null = null

    Выполняется после основного рендера ячейки в её координатах

    CanvasRenderingContext2D

    number

    dragFantomPosition: Point | null = null

    Применяется при драге с привязкой. Сначала изменяется это значение, и если выполняется условие привязки - меняется положение ячейки

    drawingScale: number = 1

    Масштаб чертежа

    drawPaths: DrawPath[] = []
    effectCanvas: OffscreenCanvas | null = null
    foreign?: any = null
    id: string

    Уникальный идентификатор

    isCell: boolean = true
    isMultiTextMode: boolean = false

    Булеан флаг - включён ли режим мультитекста

    isTextBlock: boolean = false

    Булеан флаг - является ли ячейка текстовым блоком (TextShape)

    isTextEditable: boolean = true

    Фигура с таким флагом будет редактироваться в TextEditor

    labels: Label[] = []
    libName: string | null = null

    Имя библиотеки, которая породила этот элемент.

    links: Link[] = []

    Линии, которые связаны с ячейкой

    magnetPointsPath: Path2D = ...
    margins: TextMargins = ...
    name: string = "Fugure"

    Имя. Отображается пользователю

    prevZoom: number | null = null
    realCellSize: { height: number; offset: Point; width: number } | null = null

    сейчас никак не рассчитывается

    relativeTextPosition: RelativeTextPosition = ...
    rotatedBboxEdges: BboxEdges = ...
    scale: PointLike = ...

    Скейл по оси x и по оси y

    scene: Scene2D | null = null

    Сцена, которой принадлежит

    shapeGhost: OffscreenCanvas | null = null
    standardCursor: CursorStandard = "none"

    Стандартный курсор, который будет показываться при наведении на фигуру. Если задан cursorName, то нужно выставить в 'none'

    startHeight: number

    Высота, которая была изначально до определения реальной высоты

    startWidth: number

    Ширина, которая была изначально до определения реальной ширины

    testBboxStyle: TestBboxStyle

    Стиль текстового поля

    textBbox: Rect | null = null
    textPosition: Point | null = null
    textTransform: DOMMatrix = ...
    transform: DOMMatrix = ...
    txtHeight: number = 0
    txtWidth: number = 0
    userData: UserData = []

    Для любых данных пользователя

    withBbox: boolean = false

    Для рендера с обрамляющим прямоугольником

    zIndex: number = 0
    typeName: string = "BlockShape"

    Стабильный ID типа для сериализации (className в JSON) и ключа в elementsLib. Не зависит от минификации. При наследовании обязательно переопределите — иначе assertCellTypeName выбросит ошибку при регистрации.

    Accessors

    • get angle(): number

      Returns number

    • set angle(angle: number): void

      Повернет фигуру относительно центра

      Parameters

      • angle: number

      Returns void

    • get center(): Point

      центр bbox в абсолютных координатах

      Returns Point

    • get centerOfRotation(): Point

      Returns Point

    • set centerOfRotation(point: CenterOfRotation): void

      Parameters

      Returns void

    • get drawCommands(): CellPaths[]

      Returns CellPaths[]

    • set drawCommands(drawCommands: CellPaths[]): void

      setter

      Необходимо присваивать новый массив, а не мутировать старый, тогда пути рисования обновятся

      Parameters

      Returns void

    • get geometricCenter(): Point

      Геометрический центр ячейки . В отличие от bbox.center, не смещается метками мультитекста.

      Returns Point

    • get globalCenterOfRotation(): Point

      Returns Point

    • get height(): number

      Высота ячейки в пойнтах (ед измерения отрисовки)

      Returns number

    • set height(newHeight: number): void

      Устанавливает высоту ячейки в пойнтах (ед измерения отрисовки) и пересчитывает bbox и трансформации

      Parameters

      • newHeight: number

      Returns void

    • get heightMM(): number

      Значение высоты в мм

      Returns number

    • set heightMM(height: number): void

      Переводит введённое значение высоты из мм в пойнты

      Parameters

      • height: number

      Returns void

    • get isBlocked(): boolean

      Returns boolean

    • set isBlocked(isBlocked: boolean): void

      Parameters

      • isBlocked: boolean

      Returns void

    • get isBlockedInRender(): boolean

      Returns boolean

    • get isPrintable(): boolean

      Returns boolean

    • set isPrintable(isPrintable: boolean): void

      Parameters

      • isPrintable: boolean

      Returns void

    • get isVisible(): boolean

      Returns boolean

    • set isVisible(visible: boolean): void

      Parameters

      • visible: boolean

      Returns void

    • get lib(): Library<typeof BaseCell | typeof BaseLinear> | null

      Возвращает библиотеку, которая породила этот элемент. Для этого у элемента должен быть задан libName, элемент должен быть в сцене и подключен сервис Stencil

      Returns Library<typeof BaseCell | typeof BaseLinear> | null

    • get magnetPoints(): Point[]

      Returns Point[]

    • set magnetPoints(magnetPoints: Point[]): void

      Parameters

      Returns void

    • get parent(): GraphicElement | null

      Returns GraphicElement | null

    • set parent(elem: GraphicElement | null): void

      Parameters

      Returns void

    • get position(): Point

      Returns Point

    • set position(point: Point): void

      Parameters

      Returns void

    • get positionMM(): Point

      get Позиция в мм

      Returns Point

    • set positionMM(position: Point): void

      set Переводит введённое значение положения из мм в пойнты

      Parameters

      Returns void

    • get startSize(): { height: number; width: number }

      Returns { height: number; width: number }

    • get textLabel(): Label | null

      Returns Label | null

    • set textLabel(label: Label | null): void

      Parameters

      Returns void

    • get visibleInRender(): boolean

      Returns boolean

    • get width(): number

      Ширина ячейки в пойнтах (ед измерения отрисовки)

      Returns number

    • set width(newWidth: number): void

      Устанавливает ширину ячейки в пойнтах (ед измерения отрисовки) и пересчитывает bbox и трансформации

      Parameters

      • newWidth: number

      Returns void

    • get widthMM(): number

      Значение ширины в мм

      Returns number

    • set widthMM(width: number): void

      Устанавливает значение ширины из мм

      Parameters

      • width: number

      Returns void

    Methods

    • Returns void

    • Попадает ли точка в фигуру.

      Если accurately = false то будет найдено пересечение с повернутым bbox

      Parameters

      • point: PointLike
      • ctx: CanvasRenderingContext2D
      • drawingScale: number
      • accurately: boolean = true

      Returns boolean

    • Returns void

    • Parameters

      • ctx: CanvasRenderingContext2D

      Returns void

    • Parameters

      • ctx: CanvasRenderingContext2D

      Returns void

    • Parameters

      • ctx: CanvasRenderingContext2D

      Returns void

    • Parameters

      • Optional_drawingScale: number

      Returns void

      Ищет крайние точки на фигуре по восьми направлениям от центра: к центрам сторон bbox и к углам. Сработает только один раз. Если нужно пересчитывать при изменении скейла элемента, нужна убрать проверку. На больших элементах работает медленно. если элемент очень большой надо уменьшать

    • Parameters

      • ctx: CanvasRenderingContext2D

      Returns void

    • Returns void

    • Returns string

    • Returns DOMMatrix

    • Parameters

      • point: PointLike
      • ctx: CanvasRenderingContext2D
      • drawingScale: number

      Returns boolean

    • Parameters

      • deltaX: number
      • deltaY: number
      • update: boolean = true

      Returns void

    • Parameters

      • ctx: CanvasRenderingContext2D
      • zoom: number

      Returns void

    • Parameters

      • _evt: {
            canvasPosition: { x: number; y: number };
            clickPoint: Point | { x: number; y: number };
            x: number;
            y: number;
        }
      • _args: unknown

      Returns void

    • Parameters

      • _evt: {
            canvasPosition: { x: number; y: number };
            isCtrl: boolean;
            isOutside: boolean;
            x: number;
            y: number;
        }
      • _args: unknown

      Returns void

    • Parameters

      • ctx: CanvasRenderingContext2D
      • zoom: number
      • Optionaloptions: RenderOptions

      Returns void

    • Parameters

      • size: Size
      • update: boolean = true

      Returns void

    • Parameters

      • angle: number

        угол в градусах

      • Optionalsnap: number

        угловая привязка в градусах

      Returns void

    • Parameters

      • point: Point | PointLike
      • angle: number

        угол в градусах

      • Optionalsnap: number

        угловая привязка в градусах

      • update: boolean = true

      Returns void

    • Parameters

      • x: number
      • y: number
      • update: boolean = true

      Returns void

    • Parameters

      • text: string

      Returns void

    • При добавлении нового поля, если хотите, чтобы оно сохранялось, нужно добавить его в CELL_SAVE_FIELDS

      Returns CellJSON

    • Parameters

      • deep: boolean = true

      Returns void

    • Returns void

    • Returns void

    • обновляет реальные размеры с учетом толщин линий и перерисовывает упрощенное отображение для быстрого рендера

      Returns void

    • Returns void

    • Returns void

    • Returns void

    • Returns void