# Entity

#### new Cesium.Entity(options)
engine/Source/DataSources/Entity.js 114

Entity instances aggregate multiple forms of visualization into a single high-level object. They can be created manually and added to `Viewer#entities` or be produced by data sources, such as `CzmlDataSource` and `GeoJsonDataSource`.

Name | Type | Description
--- | --- | ---
`options` | Entity.ConstructorOptions | optional Object describing initialization options

##### See:

- Creating Entities

### Members

#### availability : TimeIntervalCollection|undefined
engine/Source/DataSources/Entity.js 241

The availability, if any, associated with this object. If availability is undefined, it is assumed that this object's other properties will return valid data for any provided time. If availability exists, the objects other properties will only provide valid data if queried within the given interval.

#### billboard : BillboardGraphics|undefined
engine/Source/DataSources/Entity.js 377

Gets or sets the billboard.

#### box : BoxGraphics|undefined
engine/Source/DataSources/Entity.js 383

Gets or sets the box.

#### corridor : CorridorGraphics|undefined
engine/Source/DataSources/Entity.js 389

Gets or sets the corridor.

#### cylinder : CylinderGraphics|undefined
engine/Source/DataSources/Entity.js 395

Gets or sets the cylinder.

#### readonly definitionChanged : Event
engine/Source/DataSources/Entity.js 259

Gets the event that is raised whenever a property or sub-property is changed or modified.

#### description : Property|undefined
engine/Source/DataSources/Entity.js 401

Gets or sets the description.

#### ellipse : EllipseGraphics|undefined
engine/Source/DataSources/Entity.js 407

Gets or sets the ellipse.

#### ellipsoid : EllipsoidGraphics|undefined
engine/Source/DataSources/Entity.js 413

Gets or sets the ellipsoid.

#### entityCollection : EntityCollection
engine/Source/DataSources/Entity.js 206

Gets or sets the entity collection that this entity belongs to.

#### id : string
engine/Source/DataSources/Entity.js 247

Gets the unique ID associated with this object.

#### isShowing : boolean
engine/Source/DataSources/Entity.js 317

Gets whether this entity is being displayed, taking into account the visibility of any ancestor entities.

#### label : LabelGraphics|undefined
engine/Source/DataSources/Entity.js 419

Gets or sets the label.

#### model : ModelGraphics|undefined
engine/Source/DataSources/Entity.js 425

Gets or sets the model.

#### name : string|undefined
engine/Source/DataSources/Entity.js 270

Gets or sets the name of the object. The name is intended for end-user consumption and does not need to be unique.

#### orientation : Property|undefined
engine/Source/DataSources/Entity.js 438

Gets or sets the orientation in respect to Earth-fixed-Earth-centered (ECEF). Defaults to east-north-up at entity position.

#### parent : Entity|undefined
engine/Source/DataSources/Entity.js 331

Gets or sets the parent object.

#### path : PathGraphics|undefined
engine/Source/DataSources/Entity.js 444

Gets or sets the path.

#### plane : PlaneGraphics|undefined
engine/Source/DataSources/Entity.js 450

Gets or sets the plane.

#### point : PointGraphics|undefined
engine/Source/DataSources/Entity.js 456

Gets or sets the point graphic.

#### polygon : PolygonGraphics|undefined
engine/Source/DataSources/Entity.js 462

Gets or sets the polygon.

#### polyline : PolylineGraphics|undefined
engine/Source/DataSources/Entity.js 468

Gets or sets the polyline.

#### polylineVolume : PolylineVolumeGraphics|undefined
engine/Source/DataSources/Entity.js 474

Gets or sets the polyline volume.

#### position : PositionProperty|undefined
engine/Source/DataSources/Entity.js 489

Gets or sets the position.

#### properties : PropertyBag|undefined
engine/Source/DataSources/Entity.js 483

Gets or sets the bag of arbitrary properties associated with this entity.

#### propertyNames : Array.<string>
engine/Source/DataSources/Entity.js 367

Gets the names of all properties registered on this instance.

#### rectangle : RectangleGraphics|undefined
engine/Source/DataSources/Entity.js 495

Gets or sets the rectangle.

#### show : boolean
engine/Source/DataSources/Entity.js 277

Gets or sets whether this entity should be displayed. When set to true, the entity is only displayed if the parent entity's show property is also true.

#### tileset : Cesium3DTilesetGraphics|undefined
engine/Source/DataSources/Entity.js 431

Gets or sets the tileset.

#### trackingReferenceFrame : TrackingReferenceFrame
engine/Source/DataSources/Entity.js 310

Gets or sets the entity's tracking reference frame.

##### Demo:

- Cesium Sandcastle Entity tracking Demo

#### viewFrom : Property|undefined
engine/Source/DataSources/Entity.js 503

Gets or sets the suggested initial offset when tracking this object. The offset is typically defined in the east-north-up reference frame, but may be another frame depending on the object's velocity.

#### wall : WallGraphics|undefined
engine/Source/DataSources/Entity.js 509

Gets or sets the wall.

### Methods

#### static Cesium.Entity.supportsMaterialsforEntitiesOnTerrain(scene) → boolean
engine/Source/DataSources/Entity.js 774

Checks if the given Scene supports materials besides Color on Entities draped on terrain or 3D Tiles. If this feature is not supported, Entities with non-color materials but no `height` will instead be rendered as if height is 0.

Name | Type | Description
--- | --- | ---
`scene` | Scene | The current scene.

##### Returns:

Whether or not the current scene supports materials for entities on terrain.

#### static Cesium.Entity.supportsPolylinesOnTerrain(scene) → boolean
engine/Source/DataSources/Entity.js 786

Checks if the given Scene supports polylines clamped to terrain or 3D Tiles. If this feature is not supported, Entities with PolylineGraphics will be rendered with vertices at the provided heights and using the `arcType` parameter instead of clamped to the ground.

Name | Type | Description
--- | --- | ---
`scene` | Scene | The current scene.

##### Returns:

Whether or not the current scene supports polylines on terrain or 3D TIles.

#### addProperty(propertyName)
engine/Source/DataSources/Entity.js 554

Adds a property to this object. Once a property is added, it can be observed with `Entity#definitionChanged` and composited with `CompositeEntityCollection`

Name | Type | Description
--- | --- | ---
`propertyName` | string | The name of the property to add.

##### Throws:

- DeveloperError : "propertyName" is a reserved property name.
- DeveloperError : "propertyName" is already a registered property.

#### computeModelMatrix(time, result) → Matrix4
engine/Source/DataSources/Entity.js 680

Computes the model matrix for the entity's transform at specified time. Returns undefined if position is undefined

Name | Type | Description
--- | --- | ---
`time` | JulianDate | The time to retrieve model matrix for.
`result` | Matrix4 | optional The object onto which to store the result.

##### Returns:

The modified result parameter or a new Matrix4 instance if one was not provided. Result is undefined if position is undefined.

#### isAvailable(time) → boolean
engine/Source/DataSources/Entity.js 533

Given a time, returns true if this object should have data during that time.

Name | Type | Description
--- | --- | ---
`time` | JulianDate | The time to check availability for.

##### Returns:

true if the object should have data during the provided time, false otherwise.

#### merge(source)
engine/Source/DataSources/Entity.js 610

Assigns each unassigned property on this object to the value of the same property on the provided source object.

Name | Type | Description
--- | --- | ---
`source` | Entity | The object to be merged into this object.

#### removeProperty(propertyName)
engine/Source/DataSources/Entity.js 587

Removed a property previously added with addProperty.

Name | Type | Description
--- | --- | ---
`propertyName` | string | The name of the property to remove.

##### Throws:

- DeveloperError : "propertyName" is a reserved property name.
- DeveloperError : "propertyName" is not a registered property.

### Type Definitions

#### Cesium.Entity.ConstructorOptions
engine/Source/DataSources/Entity.js 68

Initialization options for the Entity constructor

##### Properties:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`id` | string | <optional> |  | A unique identifier for this object. If none is provided, a GUID is generated.
`name` | string | <optional> |  | A human readable name to display to users. It does not have to be unique.
`availability` | TimeIntervalCollection | <optional> |  | The availability, if any, associated with this object.
`show` | boolean | <optional> |  | A boolean value indicating if the entity and its children are displayed.
`trackingReferenceFrame` | TrackingReferenceFrame | <optional> | TrackingReferenceFrame.AUTODETECT | The reference frame used when this entity is being tracked. If `undefined`, reference frame is determined based on entity velocity: near-surface slow moving entities are tracked using the local east-north-up reference frame, whereas fast moving entities such as satellites are tracked using VVLH (Vehicle Velocity, Local Horizontal).
`description` | Property | string | <optional> |  | A string Property specifying an HTML description for this entity.
`position` | PositionProperty | Cartesian3 | CallbackPositionProperty | <optional> |  | A Property specifying the entity position.
`orientation` | Property | Quaternion | <optional> | Transforms.eastNorthUpToFixedFrame(position) | A Property specifying the entity orientation in respect to Earth-fixed-Earth-centered (ECEF). If undefined, east-north-up at entity position is used.
`viewFrom` | Property | Cartesian3 | <optional> |  | A suggested initial offset for viewing this object.
`parent` | Entity | <optional> |  | A parent entity to associate with this entity.
`billboard` | BillboardGraphics | BillboardGraphics.ConstructorOptions | <optional> |  | A billboard to associate with this entity.
`box` | BoxGraphics | BoxGraphics.ConstructorOptions | <optional> |  | A box to associate with this entity.
`corridor` | CorridorGraphics | CorridorGraphics.ConstructorOptions | <optional> |  | A corridor to associate with this entity.
`cylinder` | CylinderGraphics | CylinderGraphics.ConstructorOptions | <optional> |  | A cylinder to associate with this entity.
`ellipse` | EllipseGraphics | EllipseGraphics.ConstructorOptions | <optional> |  | A ellipse to associate with this entity.
`ellipsoid` | EllipsoidGraphics | EllipsoidGraphics.ConstructorOptions | <optional> |  | A ellipsoid to associate with this entity.
`label` | LabelGraphics | LabelGraphics.ConstructorOptions | <optional> |  | A options.label to associate with this entity.
`model` | ModelGraphics | ModelGraphics.ConstructorOptions | <optional> |  | A model to associate with this entity.
`tileset` | Cesium3DTilesetGraphics | Cesium3DTilesetGraphics.ConstructorOptions | <optional> |  | A 3D Tiles tileset to associate with this entity.
`path` | PathGraphics | PathGraphics.ConstructorOptions | <optional> |  | A path to associate with this entity.
`plane` | PlaneGraphics | PlaneGraphics.ConstructorOptions | <optional> |  | A plane to associate with this entity.
`point` | PointGraphics | PointGraphics.ConstructorOptions | <optional> |  | A point to associate with this entity.
`polygon` | PolygonGraphics | PolygonGraphics.ConstructorOptions | <optional> |  | A polygon to associate with this entity.
`polyline` | PolylineGraphics | PolylineGraphics.ConstructorOptions | <optional> |  | A polyline to associate with this entity.
`properties` | PropertyBag | Object.<string, *> | <optional> |  | Arbitrary properties to associate with this entity.
`polylineVolume` | PolylineVolumeGraphics | PolylineVolumeGraphics.ConstructorOptions | <optional> |  | A polylineVolume to associate with this entity.
`rectangle` | RectangleGraphics | RectangleGraphics.ConstructorOptions | <optional> |  | A rectangle to associate with this entity.
`wall` | WallGraphics | WallGraphics.ConstructorOptions | <optional> |  | A wall to associate with this entity.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.