Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions cvat-canvas/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,6 @@ Canvas itself handles:
`cvat_canvas_shape_merging`,
`cvat_canvas_shape_drawing`,
`cvat_canvas_shape_occluded`
- Drawn review ROIs have an id `cvat_canvas_issue_region_{issue.id}`
- Drawn review roi has the class `cvat_canvas_issue_region`
- Drawn texts have the class `cvat_canvas_text`
- Tags have the class `cvat_canvas_tag`
- Canvas image has ID `cvat_canvas_image`
Expand Down
9 changes: 0 additions & 9 deletions cvat-canvas/src/scss/canvas.scss
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,6 @@ polyline.cvat_shape_drawing_opacity {
stroke: white;
}

.cvat_canvas_issue_region {
display: none;
stroke-width: 0;
}

circle.cvat_canvas_issue_region {
opacity: 1 !important;
}

polyline.cvat_canvas_shape_grouping {
@extend .cvat_shape_action_dasharray;
@extend .cvat_shape_action_opacity;
Expand Down
7 changes: 1 addition & 6 deletions cvat-canvas/src/typescript/canvas.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2019-2020 Intel Corporation
// Copyright (C) 2021 Intel Corporation
//
// SPDX-License-Identifier: MIT

Expand Down Expand Up @@ -29,7 +29,6 @@ const CanvasVersion = pjson.version;
interface Canvas {
html(): HTMLDivElement;
setup(frameData: any, objectStates: any[], zLayer?: number): void;
setupIssueRegions(issueRegions: Record<number, number[]>): void;
activate(clientID: number | null, attributeID?: number): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding?: number): void;
Expand Down Expand Up @@ -76,10 +75,6 @@ class CanvasImpl implements Canvas {
this.model.setup(frameData, objectStates, zLayer);
}

public setupIssueRegions(issueRegions: Record<number, number[]>): void {
this.model.setupIssueRegions(issueRegions);
}

public fitCanvas(): void {
this.model.fitCanvas(this.view.html().clientWidth, this.view.html().clientHeight);
}
Expand Down
7 changes: 1 addition & 6 deletions cvat-canvas/src/typescript/canvasController.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (C) 2019-2020 Intel Corporation
// Copyright (C) 2021 Intel Corporation
//
// SPDX-License-Identifier: MIT

Expand All @@ -19,7 +19,6 @@ import {

export interface CanvasController {
readonly objects: any[];
readonly issueRegions: Record<number, number[]>;
readonly zLayer: number | null;
readonly focusData: FocusData;
readonly activeElement: ActiveElement;
Expand Down Expand Up @@ -123,10 +122,6 @@ export class CanvasControllerImpl implements CanvasController {
return this.model.zLayer;
}

public get issueRegions(): Record<number, number[]> {
return this.model.issueRegions;
}

public get objects(): any[] {
return this.model.objects;
}
Expand Down
14 changes: 0 additions & 14 deletions cvat-canvas/src/typescript/canvasModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,6 @@ export enum UpdateReasons {
IMAGE_MOVED = 'image_moved',
GRID_UPDATED = 'grid_updated',

ISSUE_REGIONS_UPDATED = 'issue_regions_updated',
OBJECTS_UPDATED = 'objects_updated',
SHAPE_ACTIVATED = 'shape_activated',
SHAPE_FOCUSED = 'shape_focused',
Expand Down Expand Up @@ -159,7 +158,6 @@ export enum Mode {
export interface CanvasModel {
readonly imageBitmap: boolean;
readonly image: Image | null;
readonly issueRegions: Record<number, number[]>;
readonly objects: any[];
readonly zLayer: number | null;
readonly gridSize: Size;
Expand All @@ -180,7 +178,6 @@ export interface CanvasModel {
move(topOffset: number, leftOffset: number): void;

setup(frameData: any, objectStates: any[], zLayer: number): void;
setupIssueRegions(issueRegions: Record<number, number[]>): void;
activate(clientID: number | null, attributeID: number | null): void;
rotate(rotationAngle: number): void;
focus(clientID: number, padding: number): void;
Expand Down Expand Up @@ -220,7 +217,6 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
gridSize: Size;
left: number;
objects: any[];
issueRegions: Record<number, number[]>;
scale: number;
top: number;
zLayer: number | null;
Expand Down Expand Up @@ -270,7 +266,6 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
},
left: 0,
objects: [],
issueRegions: {},
scale: 1,
top: 0,
zLayer: null,
Expand Down Expand Up @@ -429,11 +424,6 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
});
}

public setupIssueRegions(issueRegions: Record<number, number[]>): void {
this.data.issueRegions = issueRegions;
this.notify(UpdateReasons.ISSUE_REGIONS_UPDATED);
}

public activate(clientID: number | null, attributeID: number | null): void {
if (this.data.activeElement.clientID === clientID && this.data.activeElement.attributeID === attributeID) {
return;
Expand Down Expand Up @@ -706,10 +696,6 @@ export class CanvasModelImpl extends MasterImpl implements CanvasModel {
return this.data.image;
}

public get issueRegions(): Record<number, number[]> {
return { ...this.data.issueRegions };
}

public get objects(): any[] {
if (this.data.zLayer !== null) {
return this.data.objects.filter((object: any): boolean => object.zOrder <= this.data.zLayer);
Expand Down
102 changes: 0 additions & 102 deletions cvat-canvas/src/typescript/canvasView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,7 @@ export class CanvasViewImpl implements CanvasView, Listener {
private controller: CanvasController;
private svgShapes: Record<number, SVG.Shape>;
private svgTexts: Record<number, SVG.Text>;
private issueRegionPattern_1: SVG.Pattern;
private issueRegionPattern_2: SVG.Pattern;
private drawnStates: Record<number, DrawnState>;
private drawnIssueRegions: Record<number, SVG.Shape>;
private geometry: Geometry;
private drawHandler: DrawHandler;
private editHandler: EditHandler;
Expand Down Expand Up @@ -520,27 +517,6 @@ export class CanvasViewImpl implements CanvasView, Listener {
}
}

// Transform all drawn issues region
for (const issueRegion of Object.values(this.drawnIssueRegions)) {
((issueRegion as any) as SVG.Shape).attr('r', `${(consts.BASE_POINT_SIZE * 3) / this.geometry.scale}`);
((issueRegion as any) as SVG.Shape).attr(
'stroke-width',
`${consts.BASE_STROKE_WIDTH / this.geometry.scale}`,
);
}

// Transform patterns
for (const pattern of [this.issueRegionPattern_1, this.issueRegionPattern_2]) {
pattern.attr({
width: consts.BASE_PATTERN_SIZE / this.geometry.scale,
height: consts.BASE_PATTERN_SIZE / this.geometry.scale,
});

pattern.children().forEach((element: SVG.Element): void => {
element.attr('stroke-width', consts.BASE_STROKE_WIDTH / this.geometry.scale);
});
}

// Transform handlers
this.drawHandler.transform(this.geometry);
this.editHandler.transform(this.geometry);
Expand All @@ -562,59 +538,6 @@ export class CanvasViewImpl implements CanvasView, Listener {
}
}

private setupIssueRegions(issueRegions: Record<number, number[]>): void {
for (const issueRegion of Object.keys(this.drawnIssueRegions)) {
if (!(issueRegion in issueRegions) || !+issueRegion) {
this.drawnIssueRegions[+issueRegion].remove();
delete this.drawnIssueRegions[+issueRegion];
}
}

for (const issueRegion of Object.keys(issueRegions)) {
if (issueRegion in this.drawnIssueRegions) continue;
const points = this.translateToCanvas(issueRegions[+issueRegion]);
if (points.length === 2) {
this.drawnIssueRegions[+issueRegion] = this.adoptedContent
.circle((consts.BASE_POINT_SIZE * 3 * 2) / this.geometry.scale)
.center(points[0], points[1])
.addClass('cvat_canvas_issue_region')
.attr({
id: `cvat_canvas_issue_region_${issueRegion}`,
fill: 'url(#cvat_issue_region_pattern_1)',
});
} else if (points.length === 4) {
const stringified = this.stringifyToCanvas([
points[0],
points[1],
points[2],
points[1],
points[2],
points[3],
points[0],
points[3],
]);
this.drawnIssueRegions[+issueRegion] = this.adoptedContent
.polygon(stringified)
.addClass('cvat_canvas_issue_region')
.attr({
id: `cvat_canvas_issue_region_${issueRegion}`,
fill: 'url(#cvat_issue_region_pattern_1)',
'stroke-width': `${consts.BASE_STROKE_WIDTH / this.geometry.scale}`,
});
} else {
const stringified = this.stringifyToCanvas(points);
this.drawnIssueRegions[+issueRegion] = this.adoptedContent
.polygon(stringified)
.addClass('cvat_canvas_issue_region')
.attr({
id: `cvat_canvas_issue_region_${issueRegion}`,
fill: 'url(#cvat_issue_region_pattern_1)',
'stroke-width': `${consts.BASE_STROKE_WIDTH / this.geometry.scale}`,
});
}
}
}

private setupObjects(states: any[]): void {
const created = [];
const updated = [];
Expand Down Expand Up @@ -881,7 +804,6 @@ export class CanvasViewImpl implements CanvasView, Listener {
this.svgShapes = {};
this.svgTexts = {};
this.drawnStates = {};
this.drawnIssueRegions = {};
this.activeElement = {
clientID: null,
attributeID: null,
Expand Down Expand Up @@ -915,28 +837,6 @@ export class CanvasViewImpl implements CanvasView, Listener {
const gridDefs: SVGDefsElement = window.document.createElementNS('http://www.w3.org/2000/svg', 'defs');
const gridRect: SVGRectElement = window.document.createElementNS('http://www.w3.org/2000/svg', 'rect');

// Setup defs
const contentDefs = this.adoptedContent.defs();
this.issueRegionPattern_1 = contentDefs
.pattern(consts.BASE_PATTERN_SIZE, consts.BASE_PATTERN_SIZE, (add): void => {
add.line(0, 0, 0, 10).stroke('red');
})
.attr({
id: 'cvat_issue_region_pattern_1',
patternTransform: 'rotate(45)',
patternUnits: 'userSpaceOnUse',
});

this.issueRegionPattern_2 = contentDefs
.pattern(consts.BASE_PATTERN_SIZE, consts.BASE_PATTERN_SIZE, (add): void => {
add.line(0, 0, 0, 10).stroke('yellow');
})
.attr({
id: 'cvat_issue_region_pattern_2',
patternTransform: 'rotate(45)',
patternUnits: 'userSpaceOnUse',
});

// Setup loading animation
this.loadingAnimation.setAttribute('id', 'cvat_canvas_loading_animation');
loadingCircle.setAttribute('id', 'cvat_canvas_loading_circle');
Expand Down Expand Up @@ -1185,8 +1085,6 @@ export class CanvasViewImpl implements CanvasView, Listener {
}
const event: CustomEvent = new CustomEvent('canvas.setup');
this.canvas.dispatchEvent(event);
} else if (reason === UpdateReasons.ISSUE_REGIONS_UPDATED) {
this.setupIssueRegions(this.controller.issueRegions);
} else if (reason === UpdateReasons.GRID_UPDATED) {
const size: Size = this.geometry.grid;
this.gridPattern.setAttribute('width', `${size.width}`);
Expand Down
6 changes: 0 additions & 6 deletions cvat-core/src/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ function build() {
const Log = require('./log');
const ObjectState = require('./object-state');
const Statistics = require('./statistics');
const Comment = require('./comment');
const Issue = require('./issue');
const Review = require('./review');
const { Job, Task } = require('./session');
const { Project } = require('./project');
const { Attribute, Label } = require('./labels');
Expand Down Expand Up @@ -726,9 +723,6 @@ function build() {
Statistics,
ObjectState,
MLModel,
Comment,
Issue,
Review,
},
};

Expand Down
Loading