# Entity

#### new Cesium.Entity(options)
DataSources/Entity.js 137

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`

Object

optional Object with the following properties:

Name | Type | 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.
`description` | Property | optional A string Property specifying an HTML description for this entity.
`position` | PositionProperty | optional A Property specifying the entity position.
`orientation` | Property | optional A Property specifying the entity orientation.
`viewFrom` | Property | optional A suggested initial offset for viewing this object.
`parent` | Entity | optional A parent entity to associate with this entity.
`billboard` | BillboardGraphics | optional A billboard to associate with this entity.
`box` | BoxGraphics | optional A box to associate with this entity.
`corridor` | CorridorGraphics | optional A corridor to associate with this entity.
`cylinder` | CylinderGraphics | optional A cylinder to associate with this entity.
`ellipse` | EllipseGraphics | optional A ellipse to associate with this entity.
`ellipsoid` | EllipsoidGraphics | optional A ellipsoid to associate with this entity.
`label` | LabelGraphics | optional A options.label to associate with this entity.
`model` | ModelGraphics | optional A model to associate with this entity.
`path` | PathGraphics | optional A path to associate with this entity.
`plane` | PlaneGraphics | optional A plane to associate with this entity.
`point` | PointGraphics | optional A point to associate with this entity.
`polygon` | PolygonGraphics | optional A polygon to associate with this entity.
`polyline` | PolylineGraphics | optional A polyline to associate with this entity.
`properties` | PropertyBag | optional Arbitrary properties to associate with this entity.
`polylineVolume` | PolylineVolumeGraphics | optional A polylineVolume to associate with this entity.
`rectangle` | RectangleGraphics | optional A rectangle to associate with this entity.
`wall` | WallGraphics | optional A wall to associate with this entity.

##### See:

- Visualizing Spatial Data

### Members

#### availability : TimeIntervalCollection
DataSources/Entity.js 233

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
DataSources/Entity.js 357

Gets or sets the billboard.

#### box : BoxGraphics
DataSources/Entity.js 363

Gets or sets the box.

#### corridor : CorridorGraphics
DataSources/Entity.js 369

Gets or sets the corridor.

#### cylinder : CylinderGraphics
DataSources/Entity.js 375

Gets or sets the cylinder.

#### readonlydefinitionChanged : Event
DataSources/Entity.js 251

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

#### description : Property
DataSources/Entity.js 381

Gets or sets the description.

#### ellipse : EllipseGraphics
DataSources/Entity.js 387

Gets or sets the ellipse.

#### ellipsoid : EllipsoidGraphics
DataSources/Entity.js 393

Gets or sets the ellipsoid.

#### entityCollection : EntityCollection
DataSources/Entity.js 203

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

#### id : String
DataSources/Entity.js 239

Gets the unique ID associated with this object.

#### isShowing : Boolean
DataSources/Entity.js 301

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

#### label : LabelGraphics
DataSources/Entity.js 399

Gets or sets the label.

#### model : ModelGraphics
DataSources/Entity.js 405

Gets or sets the model.

#### name : String
DataSources/Entity.js 262

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
DataSources/Entity.js 411

Gets or sets the orientation.

#### parent : Entity
DataSources/Entity.js 311

Gets or sets the parent object.

#### path : PathGraphics
DataSources/Entity.js 417

Gets or sets the path.

#### plane : PlaneGraphics
DataSources/Entity.js 423

Gets or sets the plane.

#### point : PointGraphics
DataSources/Entity.js 429

Gets or sets the point graphic.

#### polygon : PolygonGraphics
DataSources/Entity.js 435

Gets or sets the polygon.

#### polyline : PolylineGraphics
DataSources/Entity.js 441

Gets or sets the polyline.

#### polylineVolume : PolylineVolumeGraphics
DataSources/Entity.js 447

Gets or sets the polyline volume.

#### position : PositionProperty
DataSources/Entity.js 459

Gets or sets the position.

#### properties : PropertyBag
DataSources/Entity.js 453

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

#### propertyNames : Array
DataSources/Entity.js 347

Gets the names of all properties registered on this instance.

#### rectangle : RectangleGraphics
DataSources/Entity.js 465

Gets or sets the rectangle.

#### show : Boolean
DataSources/Entity.js 269

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.

#### viewFrom : Property
DataSources/Entity.js 473

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
DataSources/Entity.js 479

Gets or sets the wall.

### Methods

#### staticCesium.Entity.supportsMaterialsforEntitiesOnTerrain(scene) → Boolean
DataSources/Entity.js 674

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.

#### staticCesium.Entity.supportsPolylinesOnTerrain(scene) → Boolean
DataSources/Entity.js 686

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)
DataSources/Entity.js 509

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
DataSources/Entity.js 618

Computes the model matrix for the entity's transform at specified time. Returns undefined if orientation or position are 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 or orientation are undefined.

#### isAvailable(time) → Boolean
DataSources/Entity.js 488

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)
DataSources/Entity.js 559

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)
DataSources/Entity.js 536

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.