Table of Contents

Enum FieldType

Namespace
Typhon.Schema.Definition
Assembly
Typhon.Schema.Definition.dll

Identifies the storage type of a component field. The two high bits Unsigned and DoubleFloat are flags OR-ed onto a base type to form its unsigned-integer or double-precision variant (e.g. UInt = Unsigned | Int); the remaining low ordinals identify the base types themselves.

[Flags]
public enum FieldType
Extension Methods

Fields

AABB2D = AABB2F | DoubleFloat

Double-precision 2D axis-aligned bounding box (AABB2D).

AABB2F = Byte | Collection

Single-precision 2D axis-aligned bounding box (AABB2F).

AABB3D = Boolean | AABB2D

Double-precision 3D axis-aligned bounding box (AABB3D).

AABB3F = Boolean | AABB2F

Single-precision 3D axis-aligned bounding box (AABB3F).

BSphere2D = BSphere2F | DoubleFloat

Double-precision 2D bounding sphere (BSphere2D).

BSphere2F = Int | Collection

Single-precision 2D bounding sphere (BSphere2F).

BSphere3D = Boolean | BSphere2D

Double-precision 3D bounding sphere (BSphere3D).

BSphere3F = Boolean | BSphere2F

Single-precision 3D bounding sphere (BSphere3F).

Boolean = 1

1-byte boolean.

Byte = 2

Signed 8-bit integer (sbyte).

Char = Boolean | Float

UTF-16 code unit (2 bytes).

Collection = 16

A ComponentCollection<T> field — a 4-byte buffer-id handle to a variable-length element buffer.

Component = Boolean | Collection

A nested-component reference (8-byte handle).

Double = Float | DoubleFloat

64-bit IEEE-754 double-precision float.

DoubleFloat = 512

Flag bit marking the double-precision variant of a float, point, quaternion, or bounding-volume base type.

Float = Byte | Int

32-bit IEEE-754 single-precision float.

Int = 4

Signed 32-bit integer (int).

Long = Boolean | Int

Signed 64-bit integer (long).

None = 0

No type — unset / sentinel.

Point2D = Point2F | DoubleFloat

2-component double-precision point (Point2D).

Point2F = Int | String64

2-component single-precision point (Point2F).

Point3D = Boolean | Point2D

3-component double-precision point (Point3D).

Point3F = Boolean | Point2F

3-component single-precision point (Point3F).

Point4D = Byte | Point2D

4-component double-precision point (Point4D).

Point4F = Byte | Point2F

4-component single-precision point (Point4F).

QuaternionD = Boolean | Point4D

Double-precision quaternion (QuaternionD).

QuaternionF = Boolean | Point4F

Single-precision quaternion (QuaternionF).

Short = Boolean | Byte

Signed 16-bit integer (short).

String = Byte | String64

Variable-length string with a 32-byte inline handle; the payload spills to the variable-size buffer (VarString).

String1024 = Boolean | String64

Fixed 1024-byte inline UTF-8 string (String1024).

String64 = 8

Fixed 64-byte inline UTF-8 string (String64).

UByte = Byte | Unsigned

Unsigned 8-bit integer (byte).

UInt = Int | Unsigned

Unsigned 32-bit integer (uint).

ULong = Boolean | UInt

Unsigned 64-bit integer (ulong).

UShort = Boolean | UByte

Unsigned 16-bit integer (ushort).

Unsigned = 256

Flag bit marking the unsigned-integer variant of an integer base type.

Variant = Boolean | String

Self-describing value stored as a Variant — a String64 of the form "tt:data".