Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Feature<TShape, TProperties>

Represents a vector data object with a shape. It may include application specific properties.

Type parameters

  • TShape: Shape | null

    Represents the type of feature's shape. Default type is inferred from the 'shape' passed to the constructor.

  • TProperties: FeatureProperties

    Represents the type of feature's properties. Default type is inferred from the 'properties' passed to the constructor. If the 'properties' is not provided the type is defaulted to FeatureProperties.

      // Creates a type-guarded Feature with the Point shape and specific properties
      const leuvenCity = new Feature(point, {name: 'Leuven'});
      // TypeScript infers the shape and properties type from the constructor inputs
      const {x, y} = leuvenCity.shape;
      console.log(`city: ${leuvenCity.properties.name}`);
    
      // Let TypeScript know the types explicitly
      interface CityProps {name: string, population: number}
      const anotherCity = new Feature<Point, CityProps>(point, {name: 'Brussels', population: 2_100_000});
      anotherCity.properties.population += 20_000;
    

Hierarchy

Overview

Constructors

Accessors

Methods

Constructors

constructor

  • (shape: TShape, properties?: TProperties, id?: number | string): Feature
  • Creates a new feature with the given geometry and properties. Represents a vector data object with a shape. It may include application specific properties.

    Parameters

    • shape: TShape

      the feature's shape.

    • Optional properties: TProperties

      an object hash containing the Feature's properties.

    • Optional id: number | string

      the identifier of the Feature. This id may be omitted when instantiating a new feature: for example, before adding a Feature to a MemoryStore. However, note that features which are part of the result of a model query must have an id.

    Returns Feature

Accessors

id

  • get id(): string | number
  • set id(value: number | string): void
  • The unique identifier of the Feature. This unique id must uniquely identify the Feature within the context of a model, ie.within the context of a luciad.model.feature.FeatureModel.

    Returns string | number

  • The unique identifier of the Feature. This unique id must uniquely identify the Feature within the context of a model, ie.within the context of a luciad.model.feature.FeatureModel.

    Parameters

    • value: number | string

    Returns any

properties

  • get properties(): TProperties
  • set properties(value: TProperties): void
  • The properties of the data object. This is optional and may be left undefined. Usually, this object is a key/value pair object.

    Returns TProperties

  • The properties of the data object. This is optional and may be left undefined. Usually, this object is a key/value pair object.

    Parameters

    • value: TProperties

    Returns any

shape

  • get shape(): TShape
  • set shape(shape: TShape): void
  • The shape of the feature

    Returns TShape

  • The shape of the feature

    Parameters

    • shape: TShape

    Returns any

Methods

copy

  • Makes a deep clone of this feature.

    Returns Feature<TShape, TProperties>

    a copy of this feature

Legend

  • Module
  • Object literal
  • Variable
  • Function
  • Function with type parameter
  • Index signature
  • Type alias
  • Type alias with type parameter
  • Enumeration
  • Enumeration member
  • Property
  • Method
  • Interface
  • Interface with type parameter
  • Constructor
  • Property
  • Method
  • Index signature
  • Class
  • Class with type parameter
  • Constructor
  • Property
  • Method
  • Accessor
  • Index signature
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Inherited accessor
  • Protected property
  • Protected method
  • Protected accessor
  • Private property
  • Private method
  • Private accessor
  • Static property
  • Static method