IP Library Granted Patent US 11,900,019
Granted Patent B2
US 11,900,019 · App. 17/109,859 · Granted Feb 13, 2024

Robust renderer for multi-layer presentation

Inventors: Tao Ye (Cypress, TX); Khoa Nguyen Van Ho (Houston, TX); Tejas Yadav (West Haven, CT)
Assignee: Nuvolo Technologies Corporation
G06F30/13G06F30/12G06F30/23G06T17/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,900,019
App. No.
17/109,859
Granted
Feb 13, 2024
Kind
B2
Abstract

Systems and techniques for rendering multi-layer computer-aided design related documents are described. A described technique includes accessing layers associated with a floorplan, the layers including a visual layer that depicts the floorplan and an interactive layer that enables user interaction with the visual layer. The layers can have different sizes. The technique includes determining outer boundaries for a selected layer. The technique includes generating a boundary layer based on a polygon defined by the outer boundaries that surrounds layer content. The technique includes scaling, based on the boundary layer, one or more of the layers to have a size that is within a threshold distance of the boundary layer's size, and after scaling, aligning the visual layer and the interactive layer in a merged graphics layer so that the interactive layer can detect user interaction with a corresponding portion of the visual layer.

Claims (52)

1. A computer-implemented method comprising:

accessing, by a processor from a memory, layers associated with a floorplan, wherein the layers include i) a visual layer that depicts the floorplan and that has a first size and ii) an interactive layer that enables user interaction with the visual layer for the floorplan and that has a second size, and wherein the first size and the second size are different;

determining outer boundaries for a selected layer of the layers, wherein:

the outer boundaries collectively define a polygon that surrounds content of the selected layer the selected layer being the interactive layer;

generating a boundary layer for the floorplan based on the polygon defined by the outer boundaries, wherein the boundary layer has a third size that is larger than the size of the selected layer;

scaling, based on the boundary layer, one or more of the layers to have a size that is within a threshold distance of the third size for the boundary layer;

after scaling one or more of the visual layer or the interactive layer, aligning the visual layer and the interactive layer in a merged graphics layer so that the interactive layer detects user interaction with a corresponding portion of the visual layer; and

providing the merged graphics layer for presentation via a user interface.

2. The method of claim 1 , wherein the second size is larger than the first size, wherein scaling one or more of the layers comprises scaling the visual layer.

3. The method of claim 1 , wherein scaling one or more of the layers comprises conforming the layers to have the same size.

4. The method of claim 1 , wherein scaling one or more of the layers comprises conforming the layers to have the same height to width ratio.

5. The method of claim 1 , wherein accessing the layers comprises retrieving a vector image that is associated with the visual layer and depicts at least a portion of the floorplan.

6. The method of claim 1 , wherein the third size is larger than the first size and the second size.

7. The method of claim 1 , wherein determining the outer boundaries comprises determining the outer boundaries for the selected layer based on a rectangle that surrounds the content of the layer, wherein generating the boundary layer comprises generating the boundary layer for the floorplan with a rectangular shape defined by the outer boundaries.

8. The method of claim 1 , comprising:

determining, for a line depicted in the visual layer, whether a first size of the line satisfies a threshold size; and

in response to determining that the first size of the line does not satisfy the threshold size, increasing the first size of the line to have a second size that satisfies the threshold size,

wherein scaling one or more of the layers comprises scaling the visual layer with the line that has the second size.

9. The method of claim 8 , wherein increasing the size of the line comprises maintaining a height-to-width ratio associated with the line.

10. A system comprising:

a processor; and

a computer-readable storage medium coupled with the processor, wherein the computer-readable storage medium comprising a program for execution by the processor, the program including instructions which, when executed by the processor, cause the processor to perform operations comprising:

accessing layers associated with a floorplan, wherein the layers include i) a visual layer that depicts the floorplan and that has a first size and ii) an interactive layer that enables user interaction with the visual layer for the floorplan and that has a second size, and wherein the first size and the second size are different;

determining outer boundaries for a selected layer of the layers, wherein:

the outer boundaries collectively define a polygon that surrounds content of the selected layer, the selected layer being the interactive layer;

generating a boundary layer for the floorplan based on the polygon defined by the outer boundaries, wherein the boundary layer has a third size that is larger than the size of the selected layer;

scaling, based on the boundary layer, one or more of the layers to have a size that is within a threshold distance of the third size for the boundary layer;

after scaling one or more of the visual layer or the interactive layer, aligning the visual layer and the interactive layer in a merged graphics layer so that the interactive layer detects user interaction with a corresponding portion of the visual layer; and

providing the merged graphics layer for presentation via a user interface.

11. The system of claim 10 , wherein scaling one or more of the layers comprises conforming the layers to have the same size.

12. The system of claim 10 , wherein scaling one or more of the layers comprises conforming the layers to have the same height to width ratio.

13. The system of claim 10 , wherein accessing the layers comprises retrieving a vector image that is associated with the visual layer and depicts at least a portion of the floorplan.

14. The system of claim 10 , wherein the third size is larger than the first size and the second size.

15. The system of claim 10 , wherein determining the outer boundaries comprises determining the outer boundaries for the selected layer based on a rectangle that surrounds the content of the layer, wherein generating the boundary layer comprises generating the boundary layer for the floorplan with a rectangular shape defined by the outer boundaries.

16. The system of claim 10 , wherein the operations comprise:

determining, for a line depicted in the visual layer, whether a first size of the line satisfies a threshold size; and

in response to determining that the first size of the line does not satisfy the threshold size, increasing the first size of the line to have a second size that satisfies the threshold size,

wherein scaling one or more of the layers comprises scaling the visual layer with the line that has the second size.

17. The system of claim 16 , wherein increasing the size of the line comprises maintaining a height-to-width ratio associated with the line.

18. A non-transitory computer-readable storage medium comprising a program for execution by a processor of a device, the program including instructions which, when executed by the processor, cause the device to perform operations comprising:

accessing layers associated with a floorplan, wherein the layers include i) a visual layer that depicts the floorplan and that has a first size and ii) an interactive layer that enables user interaction with the visual layer for the floorplan and that has a second size, and wherein the first size and the second size are different;

determining outer boundaries for a selected layer of the layers, wherein:

the outer boundaries collectively define a polygon that surrounds content of the selected layer, the selected layer being the interactive layer;

generating a boundary layer for the floorplan based on the polygon defined by the outer boundaries, wherein the boundary layer has a third size that is larger than the size of the selected layer;

scaling, based on the boundary layer, one or more of the layers to have a size that is within a threshold distance of the third size for the boundary layer;

after scaling one or more of the visual layer or the interactive layer, aligning the visual layer and the interactive layer in a merged graphics layer so that the interactive layer detects user interaction with a corresponding portion of the visual layer; and

providing the merged graphics layer for presentation via a user interface.

19. The non-transitory computer-readable storage medium of claim 18 , wherein determining the outer boundaries comprises determining the outer boundaries for the selected layer based on a rectangle that surrounds the content of the layer, wherein generating the boundary layer comprises generating the boundary layer for the floorplan with a rectangular shape defined by the outer boundaries.

20. The non-transitory computer-readable storage medium of claim 18 , wherein the operations comprise:

determining, for a line depicted in the visual layer, whether a first size of the line satisfies a threshold size; and

in response to determining that the first size of the line does not satisfy the threshold size, increasing the first size of the line to have a second size that satisfies the threshold size,

wherein scaling one or more of the layers comprises scaling the visual layer with the line that has the second size.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2023
From: PACIFIC WESTERN BANK
To: NUVOLO TECHNOLOGIES CORPORATION
Reel/Frame 065445/0445 →
SECURITY INTEREST Recorded Oct 11, 2022
From: NUVOLO TECHNOLOGIES CORPORATION
To: PACIFIC WESTERN BANK
Reel/Frame 061381/0408 →
SECURITY INTEREST Recorded Mar 21, 2022
From: NUVOLO TECHNOLOGIES CORPORATION
To: HERCULES CAPITAL, INC., AS AGENT
Reel/Frame 059326/0748 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INVENTORS NAME KHOA NGUYEN HO PREVIOUSLY RECORDED AT REEL: 054590 FRAME: 0392. ASSIGNOR(S) HEREBY CONFIRMS THE THE CORRECT NAME. Recorded Mar 15, 2021
From: YE, TAO; VAN HO, KHOA NGUYEN; YADAV, TEJAS
To: NUVOLO TECHNOLOGIES CORPORATION
Reel/Frame 055586/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2020
From: YE, TAO; HO, KHOA NGUYEN VAN; YADAV, TEJAS
To: NUVOLO TECHNOLOGIES CORPORATION
Reel/Frame 054590/0392 →
Continuity (1)
Related Publication 20220171893A1 · Jun 2, 2022