<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ModelIO",
  "identifier" : "/documentation/ModelIO/MDLObject/boundingBox(atTime:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Model I/O"
    ],
    "preciseIdentifier" : "c:objc(cs)MDLObject(im)boundingBoxAtTime:"
  },
  "title" : "boundingBox(atTime:)"
}
-->

# boundingBox(atTime:)

Returns the minimum region entirely enclosing the object’s contents at the specified time sample.

```
func boundingBox(atTime time: TimeInterval) -> MDLAxisAlignedBoundingBox
```

## Parameters

`time`

A timestamp referring to timed information in the asset.

## Return Value

The asset’s bounding box as of the specified time sample.

## Discussion

Objects may or may not provide spatial content. Subclasses of [`MDLObject`](/documentation/ModelIO/MDLObject) that include spatial content, such as the [`MDLMesh`](/documentation/ModelIO/MDLMesh) class, implement this method to return the axis-aligned minimal region that entirely encloses such content. Objects without spatial content return an empty bounding box—that is, a [`MDLAxisAlignedBoundingBox`](/documentation/ModelIO/MDLAxisAlignedBoundingBox) structure whose `minBounds` field is greater than its `maxBounds` field.

Calling this method on an object that contains other objects (that is, one whose [`children`](/documentation/ModelIO/MDLObject/children) property is not `nil` and references a nonempty container) recursively computes the combined bounding box enclosing of the object’s children.

---

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)