Class OverlappingRangeBasedPropertyTile<T>
This tile accepts overlapping ranges, as long as they are ordered by their startOffset.
A range-based vertex property is a property that potentially applies to only a part of a vertex. The Location Library uses a start and end point to define the part of the vertex to which the range-based property applies. These start and end points are represented by their relative offsets on the Vertex (values between 0 and 1).
The storage format for these ranges contains two levels of information: startIndices
, and
the triplets (startOffsets(j), endOffsets(j), values(j))
.
The triplets (startOffsets(j), endOffsets(j), values(j))
define the
RangeBasedProperties
for
every Vertex
that is contained in a partition.
startIndices
indicates which
RangeBasedProperty
apply
to a given Vertex
.
An index i
in 0..startIndices.size-2
corresponds to a
VertexIndex
and
represents the index of a Vertex
inside a partition. The RangeBasedProperties
whose corresponding indices j
are between startIndices(i)
and startIndices(i+1) - 1
apply to the Vertex
i
.
If startIndices(i) == startIndices(i+1)
,
Vertex
i
has no
RangeBasedProperties
.
Note that the last value of startIndices
does not correspond to any
Vertex
. This value must be equal to
startOffsets.length
. This value allows calculating the
RangeBasedProperties
that apply to the last Vertex
the same
way as for all the other Vertices
.
- Note:
- Although this object contains Arrays, you should treat it as immutable.
-
Constructor Summary
ConstructorsConstructorDescriptionOverlappingRangeBasedPropertyTile
(TileId tileId, int[] firstRangeIndices, double[] startOffsets, double[] endOffsets, Object values) -
Method Summary
-
Constructor Details
-
OverlappingRangeBasedPropertyTile
-
-
Method Details
-
endOffsets
public double[] endOffsets() -
firstRangeIndices
public int[] firstRangeIndices() -
startOffsets
public double[] startOffsets() -
tileId
-
values
-