An E57 element encoding a fixed point number. More...
An E57 element encoding a fixed point number.
An ScaledIntegerNode is a terminal node (i.e. having no children) that holds a fixed point number encoded by an integer rawValue
, a double precision floating point scale
, an double precision floating point offset
, and integer minimum/maximum bounds.
The minimum
attribute may be a number in the interval [-2^63, 2^63). The maximum
attribute may be a number in the interval [minimum, 2^63). The rawValue
may be a number in the interval [minimum, maximum]. The scaledValue
is a calculated double precision floating point number derived from: scaledValue = rawValue*scale + offset.
See Node class discussion for discussion of the common functions that StructureNode supports.
A class invariant is a list of statements about an object that are always true before and after any operation on the object. An invariant is useful for testing correct operation of an implementation. Statements in an invariant can involve only externally visible state, or can refer to internal implementation-specific state that is not visible to the API user. The following C++ code checks externally visible state for consistency and throws an exception if the invariant is violated: