<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RoomPlan",
  "identifier" : "/documentation/RoomPlan/CapturedStructure",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "RoomPlan"
    ],
    "preciseIdentifier" : "s:8RoomPlan17CapturedStructureV"
  },
  "title" : "CapturedStructure"
}
-->

# CapturedStructure

An object that holds the results of the merger of multiple capture sessions.

```
struct CapturedStructure
```

## Overview

This structure combines the data from multiple [`CapturedRoom`](/documentation/RoomPlan/CapturedRoom) instances that a user scans in the same physical vicinity. The [`StructureBuilder`](/documentation/RoomPlan/StructureBuilder) class’s function merges the captured rooms with the [`capturedStructure(from:)`](/documentation/RoomPlan/StructureBuilder/capturedStructure(from:)) function, which returns an object of this type.

## Topics

### Creating a captured room

[`init(from:)`](/documentation/RoomPlan/CapturedStructure/init(from:))

Creates a captured structure by deserializing the decoder of a prior captured structure.

### Inspecting structure details

[`identifier`](/documentation/RoomPlan/CapturedStructure/identifier)

A unique alphanumeric value that the framework assigns the structure.

[`rooms`](/documentation/RoomPlan/CapturedStructure/rooms)

An array of all the captured rooms in the structure.

[`floors`](/documentation/RoomPlan/CapturedStructure/floors)

An array of all the floors in the structure.

[`Surface`](/documentation/RoomPlan/CapturedStructure/Surface)

The type a captured structure assigns to surfaces.

[`doors`](/documentation/RoomPlan/CapturedStructure/doors)

An array of all the doors in the structure.

[`objects`](/documentation/RoomPlan/CapturedStructure/objects)

An array of all the objects in the structure.

[`Object`](/documentation/RoomPlan/CapturedStructure/Object)

The type a captured structure assigns to objects.

[`openings`](/documentation/RoomPlan/CapturedStructure/openings)

An array of all the openings in the structure.

[`walls`](/documentation/RoomPlan/CapturedStructure/walls)

An array of all the walls in the structure.

[`windows`](/documentation/RoomPlan/CapturedStructure/windows)

An array of all the windows in the structure.

[`sections`](/documentation/RoomPlan/CapturedStructure/sections)

One or more room types that the framework identifies in the structure.

[`Section`](/documentation/RoomPlan/CapturedStructure/Section)

The type a captured structure assigns to distinct room areas.

[`version`](/documentation/RoomPlan/CapturedStructure/version)

A version number for the captured structure.

### Serializing a captured structure

[`encode(to:)`](/documentation/RoomPlan/CapturedStructure/encode(to:))

Serializes a captured structure to the specified encoder.

### Generating a USDZ file

[`export(to:metadataURL:modelProvider:exportOptions:)`](/documentation/RoomPlan/CapturedStructure/export(to:metadataURL:modelProvider:exportOptions:))

Produces a 3D asset from the captured structure.

[`USDExportOptions`](/documentation/RoomPlan/CapturedStructure/USDExportOptions)

The type a captured structure uses to configure exports.

[`ModelProvider`](/documentation/RoomPlan/CapturedStructure/ModelProvider)

The type a captured structure uses to output sophisticated 3D models.

### Handling errors

[`Error`](/documentation/RoomPlan/CapturedStructure/Error)

Errors that can occur during a captured structure export.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Encodable`](/documentation/Swift/Encodable)

[`Decodable`](/documentation/Swift/Decodable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)