This document gives specifications for the custom HDF data types that are used in the DIRSIG HDF data formats.

ClassicBalfourRecord

Type

H5T_COMPOUND

Represents a single row in the classic Balfour type-specific table. Holds the coefficients for the classic Balfour model.

Field Name Data Type Description

coefficients

H5T_ARRAY [5] NATIVE_FLOAT

Balfour A0-A4 coefficients

DataDrivenTempRecord

Type

H5T_COMPOUND

This type is used as a record in the data-driven temperature model data table. It represents a single time sample in a data-driven time series.

Field Name Data Type Description

timeSec

NATIVE_FLOAT

Time of the samples [s]

tempK

NATIVE_FLOAT

Temperature at that time [K]

DecalRecord

Type

H5T_COMPOUND

A record in the type-specific table for decal instances.

Field Name Data Type Description

materialId

NATIVE_UINT

An index into the material properties table. The decal will only appear when the object’s material matches this ID.

parentInstanceId

NATIVE_UINT

The type-specific instance index in the static instance table to which the decal is applied

DrapeProjectorRecord

Type

H5T_COMPOUND

A record in the type-specific table for drape projection. Contains the parameters for an orthographic projection.

Field Name Data Type Description

xOrigin

NATIVE_FLOAT

The x-coordinate of the origin in scene ENU meters

yOrigin

NATIVE_FLOAT

The y-coordinate of the origin in scene ENU meters

pixelSize

NATIVE_FLOAT

Pixel size in meters

Flex Motion Types

CirclingPathRecord

Type

H5T_COMPOUND

Represents a record in the flex motion circling path location engine.

Field Name Data Type Description

startTimeSec

NATIVE_DOUBLE

The start time of the path in seconds

center

Vector3d

The center of the path

radiusM

NATIVE_DOUBLE

The radius of the path in meters

linearVelocityMS

NATIVE_DOUBLE

The linear velocity in meters/second

EngineTableRecord

Type

H5T_COMPOUND

Represents a single row in the flex motion engine index table.

Field Name Data Type Description

locationEngineIndex

NATIVE_UINT

Index of the location engine

orientationEngineIndex

NATIVE_UINT

Index of the orientation engine

LocationEngineRecord

Type

H5T_COMPOUND

A record in the flex motion location engine index table.

Field Name Data Type Description

type

LocationEngineType

The type of the location engine

typeSpecificIndex

NATIVE_UINT

The index in the type-specific table

LocationEngineType

Type

H5T_ENUM

Constants for the supported types of location engines for FlexMotion.

Name Value Description

Circling

0

Circling path around a fixed point

Sgp4

1

SGP4 orbital model

StraightPath

2

Straight path between two points

Waypoints

3

Time-series of waypoints

OrientationEngineRecord

Type

H5T_COMPOUND

A record in the flex motion orientation engine index table.

Field Name Data Type Description

type

OrientationEngineRecord

The type of the orientation engine

typeSpecificIndex

NATIVE_UINT

The index in the type-specific table

OrientationEngineType

Type

H5T_ENUM

Constants for the supported types of orientation engines for FlexMotion.

Name Value Description

Quaternion

0

Time series of quaternions

LookAt

1

Constantly look at a location engine

Spin

2

Spin around a fixed axis with a time-series of velocities

Velocity

3

Point in the direction of the velocity vector

QuaternionsRecord

Type

H5T_COMPOUND

A record in the flex motion quaternion orientation engine table.

Field Name Data Type Description

timeSec

NATIVE_DOUBLE

The time in seconds

quaternion

Quaterniond

The quaternion at the given time

SpinDataRecord

Type

H5T_COMPOUND

A record in the flex motion spin orientation engine table.

Field Name Data Type Description

timeSec

NATIVE_DOUBLE

The time in seconds

spinRateRadSec

NATIVE_DOUBLE

The spin rate in rad/sec at the given time

StraightPathRecord

Type

H5T_COMPOUND

A record in the flex motion straight path location engine type-specific table.

Field Name Data Type Description

startTimeSec

NATIVE_DOUBLE

Start time of the path in seconds

startPt

Vector3d

The start point of the path

headingDegEofN

NATIVE_DOUBLE

The heading in degrees east of north

linearVelocityMS

NATIVE_DOUBLE

The linear velocity along the path in meters/second

WaypointsRecord

Type

H5T_COMPOUND

A record in the flex motion waypoints location engine table.

Field Name Data Type Description

timeSec

NATIVE_DOUBLE

The time of the waypoint in seconds

waypoint

Vector3d

The waypoint

VelocityDataRecord

Type

H5T_COMPOUND

A record in the flex motion velocity orientation engine.

Field Name Data Type Description

constraintOption

NATIVE_DOUBLE

The option for the constraint (must be 2)

constraintVector

Vector3d

The constraint vector (currently unused)

KeyframeMotionRecord

Type

H5T_COMPOUND

Represents a record in the keyframe motion data table, with a dual quaternion, a scaling and a time.

Field Name Data Type Description

timeSec

NATIVE_DOUBLE

The time for the sample in seconds

dqReal

Quaterniond

Real component of the dual quaternion

dqDual

Quaterniond

Dual component of the dual quaternion

scale

Vector3f

Scale factors

IterativeBalfourRecord

Type

H5T_COMPOUND

Represents a single row in the iterative Balfour type-specific table. Holds the coefficients for the iterative Balfour model.

Field Name Data Type Description

coefficients

H5T_ARRAY [6] NATIVE_FLOAT

Balfour A0-A5 coefficients

MapIndexRecord

Type

H5T_COMPOUND

Represents a single row in the type-specific table for a map type. Holds the index in the map path table and the projector index in the map’s projector table.

Field Name Data Type Description

pathIndex

NATIVE_UINT

Index in the map paths table of the path to the map

projectorIndex

NATIVE_UINT

Index of the projector inside the specified map to use

MasterTableRecord

Type

H5T_COMPOUND

Represents a single row in the master table of the data model. A row is defined as follows:

Field Name Data Type Description

type

MasterTableType

The type of the row

typeSpecificIndex

NATIVE_UINT

The index in the type-specific table

parentIndex

NATIVE_UINT

Index in the master table of this instances parent (uint32_max if none exists).

MasterTableType

Type

H5T_ENUM

Constants for the type of rows that can appear in the master table.

Type Value Description

Unknown

0x0

Unknown type

StaticInstance

0x1

Static (no motion) instance

DynamicInstance

0x2

Dynamic (keyframe dual-quaternion) motion instance

DecalInstance

0x4

Decal instance

FlexMotionInstance

0x8

Flex motion instance

FacetizedObject

0x10

Facetized object

Sphere

0x20

Sphere primitive object

Box

0x40

Box primitive object

Disk

0x80

Disk primitive object

Cylinder

0x100

Cylinder primitive object

Source

0x200

In-scene source object

ConeFrustum

0x400

Cone frustum primitive object

RegularGrid

0x800

RegularGrid plugin object

MaterialRecord

Type

H5T_COMPOUND

Represents a single row in the top-level materials table. Holds the type of materials and the indices into the optical properties and temperature model tables.

Field Name Data Type Description

type

MaterialType

The type of the material

optPropIndex

NATIVE_UINT

Index into the optical properties table (if needed by the type)

tempModelIndex

NATIVE_UINT

Index into the temperature models table (if needed by the type)

MaterialType

Type

H5T_ENUM

Constants for the various types of materials supported in our data models.

Name Value Description

Null

0x0

No material

Surface

0x1

A material on a surface

Volume

0x2

A material in a volume

PureMap

0x4

A pure material map

MixedMap

0x8

A material mixture map

OpticalPropertiesRecord

Type

H5T_COMPOUND

Represents a single row in the optical properties index table. Holds the type of the optical property and the type-specific index of the reflectance and transmission property.

Field Name Data Type Description

type

NATIVE_UINT

Bitwise or of the reflectance and transmission property types

reflectanceIndex

NATIVE_UINT

Type-specific index of the reflectance property

transmissionIndex

NATIVE_UINT

Type-specific index of the transmission property

The type column is a bitwise combination of the following values:

Type Value Description

None

0x00000000

No optical property

DiffuseReflectance

0x00000004

Diffuse (Lambertian) reflectance

DiffuseTransmission

0x00000008

Diffuse (Lambertian) transmission

DeltaReflectance

0x00000010

Delta (specular) reflectance

DeltaTransmission

0x00000020

Delta (specular) transmission

WardReflectance

0x00000040

Ward reflectance

WardTransmission

0x00000080

Ward transmission

SphericalDataReflectance

0x00000100

Spherical data (SQT) reflectance

SphericalDataTransmission

0x00000200

Spherical data (SQT) transmission

AbsorptionCoefficient

0x00000400

Absorption coefficient

ScatteringCoefficient

0x00000800

Scattering coefficient

PureOpticalPropertiesMap

0x10000000

A map of optical properties

ReflectanceMap

0x20000000

Spectral reflectance map

MixedOpticalPropertiesMap

0x40000000

A map of optical properties

Primitive Types

BoxRecord

Type

H5T_COMPOUND

A record in the box primitive table.

Field Name Data Type Description

minPt

Vector3f

Minimum point of the box

maxPt

Vector3f

Maximum point of the box

ConeFrustumRecord

Type

H5T_COMPOUND

A record in the cone frustum primitive table.

Field Name Data Type Description

topCapRadius

NATIVE_FLOAT

Radius of the top cap

bottomCapRadius

NATIVE_FLOAT

Radius of the bottom cap

bottomCapCenter

Vector3f

Center of the bottom cap

height

NATIVE_FLOAT

Height of the cone frustum

topCapPresent

NATIVE_UCHAR

Non-zero if the top cap is present

bottomCapPresent

NATIVE_UCHAR

Non-zero if the bottom cap is present

isFlipped

NATIVE_UCHAR

Non-zero if the shape is flipped

CylinderRecord

Type

H5T_COMPOUND

A record in the cylinder primitive table.

Field Name Data Type Description

capACenter

Vector3f

Center of the A cap

capBCenter

Vector3f

Center of the B cap

capAPresent

NATIVE_UCHAR

Whether the A cap is present

capBPresent

NATIVE_UCHAR

Whether the B cap is present

radius

NATIVE_FLOAT

Radius of the cylinder

DiskRecord

Type

H5T_COMPOUND

A record in the disk primitive table.

Field Name Data Type Description

center

Vector3f

The center of the disk

normal

Vector3f

The normal vector of the disk

radius

NATIVE_FLOAT

The radius of the disk

SphereRecord

Type

H5T_COMPOUND

A record in the sphere primitive table.

Field Name Data Type Description

center

Vector3f

The center of the sphere

radius

NATIVE_FLOAT

The radius of the sphere

ProjectorRecord

Type

H5T_COMPOUND

Represents a row in a map’s projector table. Contains the information about how to project the map onto a piece of geometry.

Field Name Data Type Description

type

ProjectorType

Type of the projector

typeSpecificIndex

NATIVE_UINT

Type-specific index of the projector (if needed by the type)

xMirror

NATIVE_UINT

Non-zero to mirror the map in the X dimension

yMirror

NATIVE_UINT

Non-zero to mirror the map in the Y dimension

ProjectorType

Type

H5T_ENUM

Constants for the various types of map projectors supported in our data models.

Name Value Description

UV

0

Project using the geometry’s UV coordinate system

Drape

1

Orthographic projection onto a geometry in scene ENU space

Quaterniond

Type

H5T_COMPOUND

Represents a quaternion.

Field Name Data Type Description

w

NATIVE_DOUBLE

W-component of the quaternion

x

NATIVE_DOUBLE

X-component of the quaternion

y

NATIVE_DOUBLE

Y-component of the quaternion

z

NATIVE_DOUBLE

Z-component of the quaternion

Quaterniond

Type

H5T_COMPOUND

Represents a quaternion.

Field Name Data Type Description

w

NATIVE_FLOAT

W-component of the quaternion

x

NATIVE_FLOAT

X-component of the quaternion

y

NATIVE_FLOAT

Y-component of the quaternion

z

NATIVE_FLOAT

Z-component of the quaternion

RangeEndInclusive

Type

H5T_COMPOUND

This type is used in many different tables to express index ranges in another table. The inclusive ending index is used to express that all ranges must have data and cannot be empty.

Field Name Data Type Description

begin

NATIVE_UINT

Beginning index of the range

endInclusive

NATIVE_UINT

Ending (inclusive) index of the range

RegularGridDataRecord

Type

H5T_COMPOUND

A record in a regular grid data table.

Field Name Data Type Description

xIndex

NATIVE_INT

X index of voxel

yIndex

NATIVE_INT

Y index of voxel

zIndex

NATIVE_INT

Z index of voxel

optPropId

NATIVE_INT

Optical property index of voxel (direct opt. prop. ID, no remapping)

tempK

NATIVE_FLOAT

Temperature of the voxel [K]

concPpm

NATIVE_FLOAT

Concentration of the voxel [ppm]

Source Types

BlinkRecord

Type

H5T_COMPOUND

A record in the source blink table.

Field Name Data Type Description

frequencyHz

NATIVE_FLOAT

Frequency of the blinking in Hz

offsetSec

NATIVE_FLOAT

Offset (phase) of the blinking in seconds

CosineModelRecord

Type

H5T_COMPOUND

A record in the cosine shaping model table.

Field Name Data Type Description

weight

NATIVE_FLOAT

The weight on the cosine term

shapeFactor

NATIVE_FLOAT

The shape factor (exponent) on the cosine term

ModulationRecord

Type

H5T_COMPOUND

A record in the source cosine modulation table.

Field Name Data Type Description

frequencyHz

NATIVE_FLOAT

Frequency of the cosine in Hz

magnitude

NATIVE_FLOAT

Magnitude on the cosine

phaseRad

NATIVE_FLOAT

Phase of the modulation in radians

ModulationType

Type

H5T_ENUM

Constants for the modulation types.

Name Value Description

None

0

No modulation

Blinking

1

Blinking

Modulating

2

Cosine-series modulation

ShapeType

Type

H5T_ENUM

Constants for the source types.

Name Value Description

Unknown

0

Unknown type

Omnidirectional

1

Omnidirectional source

DirectionalCosine

2

Cosine-weighted directional source

SourceRecord

Type

H5T_COMPOUND

A record in the source master table.

Field Name Data Type Description

curveIndex

NATIVE_UINT

The index for the spectral power curve

shapeModelType

ShapeType

The type of the shape model

shapeModelIndex

NATIVE_UINT

The index in the shape model type-specific table

modulationType

ModulationType

The type of modulation

modulationIndex

NATIVE_UINT

The index in the modulation type-specific table

gain

NATIVE_FLOAT

The gain on the light source

SphericalDataIndexRecord

Type

H5T_COMPOUND

Represents a row in the spherical data type-specific data table. Contains the index of the DHR curve, as well as the range of the data in the data table.

Field Name Data Type Description

curveIndex

NATIVE_UINT

The index of the DHR curve in spectral curves table

bufferRangeIndex

NATIVE_UINT

The index for this SQT in the buffer range table

StaticInstanceRecord

Type

H5T_COMPOUND

Represents a single row in the static instance transform table.

Field Name Data Type Description

affine

H5T_ARRAY[12] NATIVE_FLOAT

First three rows of the 4x4 homogenous affine transform matrix

TemperatureModelRecord

Type

H5T_COMPOUND

Represents a row in the temperature model index table. Holds a temperature type and an index in the type-specific table.

Field Name Data Type Description

type

TemperatureModelType

Type of the temperature model

typeSpecificIndex

NATIVE_UINT

Index in the type-specific table

TemperatureModelType

Type

H5T_ENUM

Constants for the various types of temperature models supported in our data models.

Name Value

None

0

DataDriven

1

ThermMap

2

TemperatureMap

3

BalfourMap

4

Therm

5

ClassicBalfour

6

IterativeBalfour

7

ThermRecord

Type

H5T_COMPOUND

Respresents a row in the THERM temperature model type-specific data table. Contains the thermal properties that are inputs to the THERM model.

Field Name Data Type Description

specificHeat

NATIVE_FLOAT

Specific Heat [L/cm/C]

massDensity

NATIVE_FLOAT

Density of the material [g/cm^3]

thermalConductivity

NATIVE_FLOAT

Thermal conductivity [W / m * K]

thickness

NATIVE_FLOAT

Thickness of the material (volume / surface area) [cm]

solarAbsorption

NATIVE_FLOAT

Solar absorption, can be -1 to indicate it should be computed from optical properties [unitless 0 - 1]

thermalEmissivity

NATIVE_FLOAT

Thermal emissivity, can be -1 to indicate it should be computed from optical properties [unitless 0 - 1]

selfGeneratedPower

NATIVE_FLOAT

Self-generated thermal energe [L / hr]

exposedArea

NATIVE_FLOAT

"fudge factor" for how much of the material is exposed to air [unitless -1 - 1]

Vector3d

Type

H5T_COMPOUND

Represents a vector in 3-space.

Field Name Data Type Description

x

NATIVE_DOUBLE

X-component of the vector

y

NATIVE_DOUBLE

Y-component of the vector

z

NATIVE_DOUBLE

Z-component of the vector

Vector3f

Type

H5T_COMPOUND

Represents a vector in 3-space.

Field Name Data Type Description

x

NATIVE_FLOAT

X-component of the vector

y

NATIVE_FLOAT

Y-component of the vector

z

NATIVE_FLOAT

Z-component of the vector

WardRecord

Type

H5T_COMPOUND

Represents a row in the Ward optical property type-specific data table. Contains the index of the four spectral curves.

Field Name Data Type Description

diffuseIndex

NATIVE_UINT

Index of the diffuse curve

specularIndex

NATIVE_UINT

Index of the specular curve

specularWidthParallelIndex

NATIVE_UINT

Index of the specular width curve in the parallel direction

specularWidthOrthogonalIndex

NATIVE_UINT

Index of the specular width curve in the orthogonal direction