---
title: Scalable3DProtocol
framework: spatial
role: symbol
role_heading: Protocol
path: spatial/scalable3dprotocol
---

# Scalable3DProtocol

A set of methods that defines the interface for Spatial entities that can scale.

## Declaration

```swift
protocol Scalable3DProtocol<Scalar> : SpatialTypeProtocol
```

## Topics

### Instance Methods

- [scale(by:)](spatial/scalable3dprotocol/scale(by:).md)
- [scaleBy(x:y:z:)](spatial/scalable3dprotocol/scaleby(x:y:z:).md)
- [scaled(by:)](spatial/scalable3dprotocol/scaled(by:).md)
- [scaledBy(x:y:z:)](spatial/scalable3dprotocol/scaledby(x:y:z:).md)
- [uniformlyScale(by:)](spatial/scalable3dprotocol/uniformlyscale(by:).md)
- [uniformlyScaled(by:)](spatial/scalable3dprotocol/uniformlyscaled(by:).md)

## Relationships

### Inherits From

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [SpatialTypeProtocol](spatial/spatialtypeprotocol.md)

### Conforming Types

- [AffineTransform3D](spatial/affinetransform3d.md)
- [AffineTransform3DFloat](spatial/affinetransform3dfloat.md)
- [ProjectiveTransform3D](spatial/projectivetransform3d.md)
- [ProjectiveTransform3DFloat](spatial/projectivetransform3dfloat.md)
- [Rect3D](spatial/rect3d.md)
- [Rect3DFloat](spatial/rect3dfloat.md)
- [Size3D](spatial/size3d.md)
- [Size3DFloat](spatial/size3dfloat.md)
- [Vector3D](spatial/vector3d.md)
- [Vector3DFloat](spatial/vector3dfloat.md)
