GeoPathComponentId

Description

struct Tinman.Engine.Scenes.Data.GeoPathComponentId

An identifier for a geo path value.

The natural order of GeoPathComponentId values is the following:

  1. Sort ascending by ordinal of Type.

  2. Sort ascending by Name, using StringUtil.Compare.

  3. Sort ascending by ordinal of Flag.

Public / Constants

None


public static readonly attribute None → (GeoPathComponentId)

The identifier value for no component.

Public / Constructors

For

4 overloads


public static method For1 → (1)

value in : GeoPathValue

See Type.

returns → GeoPathComponentId

The GeoPathComponentId value.

Creates a new instance of GeoPathComponentId for the given well-known geo path value.

The Name field will have the special "any" value.


public static method For2 → (2)

name in : string

[not-null]
See Name.

flag opt : GeoPathFlag = GeoPathFlag.None

See Flag.

returns → GeoPathComponentId

The GeoPathComponentId value.

Creates a new instance of GeoPathComponentId for the given geo path component name.

The Type field will have the special "any" value.


public static method For3 → ()
<TSample val>
<TTrait val : IGeoPathSampleTrait<TSample>>

Creates a GeoPathComponentId value for each geo path sample value.


public static method For4 → (1)
<TSample val>
<TTrait val : IGeoPathSampleTrait<TSample>>

index in : int32

The geo path value index.

returns → GeoPathComponentId

The GeoPathComponentId value.

Creates a GeoPathComponentId value for the given geo path sample value.

Public / Methods

Merge


[Pure]
public method Merge → (1)

other in : GeoPathComponentId

The other geo path component identifier.

returns → GeoPathComponentId

The merged geo path component identifier or None if not mergeable.

Merges this geo patch component identifier with the given other in one, if possible.

Merging identifiers will replace special "any" values of Name and Type with the specific ones. If two identifiers have conflicting "non-any" field values, merging will fail.

Resolve


[Pure]
public method Resolve → (2)

identifiers in : IBagConst<GeoPathComponentId>

The identifiers to merge with.

existing out : GeoPathComponentId

The identifier in identifiers in this identifier has been merged with.

returns → GeoPathComponentId

The resulting identifier.

Tries to resolve this identifier by merging it with the first matching one in identifiers in.

If this identifier can be merged with

Public / Attributes

Flag


public readonly attribute Flag → (GeoPathFlag)

The data flag to use for processing geo path component values.

If Type is not GeoPathValue.None, the data flag will always be the one that is defined for the well-known geo path value.

Is​None


public attribute IsNone → (get)

value : bool

true if this is the None identifier,
false if this is a regular identifier.

Is this GeoPathComponentId value equal to None?

Name


public readonly attribute Name → (string)

The name of the geo path value or null for any.

Type


public readonly attribute Type → (GeoPathValue)

The well-known type of the geo path value or GeoPathValue.None for any.