Abstract Class Name: Color

Superclass - Color Entry

Subclasses

Definition

The base class for colors in SEDRIS. Colors can be either Inline Colors (which are directly attached to colored objects) or Color Indices (referring to colors in Color Tables).

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. A Color with a color_mapping field of type SE_FRONTFACE_BLEND_COLOR is used for blending.
  2. A Color with a color_mapping field of type SE_BACKFACE_COLOR is the color used for the back face of the Polygon to which the Color object is attached.

FAQs

Where do RGB values go in all this?
A Primitive Color with either an RGB Color, CMY Color, or HSV Color is where the actual color values are stored. Where the Primitive Color is located depends on whether the data provider directly attaches colors to objects with Inline Colors, or whether Color Tables are used. See Inline Color, Color Index.

How is a single, simple color represented?
As an Inline Color, with color_mapping set to some variation of PRIMARY_COLOR, whose Primitive Color has only an Ambient Color component specified. (But see Primitive Color for further discussion.)

What if a data provider has a color (e.g., RGB) and a coefficient (e.g. K)?
Either the data provider must factor the coefficient into the color to create an Inline Color, or put the color in a Color Table and reference it with a Color Index whose intensity is set to the value of the coefficient.

What is the presentation_domain for?
The presentation_domain identifies the type of sensor for which the Color is appropriate. Note that OTW (Out-the-Window) is the domain for normal, look-at-it-with-your-eyes-in-daylight color (vs. radar, night vision goggles, etc.)

How do I determine how to apply the Color to the object using it? What is the color_mapping field for?
The color_mapping field indicates how to apply the Color to the object using it -- which side of the object it applies to, whether it's used for the primary color, for distance or image blending, etc. (See SE_COLOR_MAPPING_ENUM for the details of specific color mappings).

Incidentally, the color_mapping field is a token set rather than a simple enumeration in order to simplify the consumer's task of identifying what a color applies to.

Is a Polygon required to have a PRIMARY_COLOR (including inheritance from hierarchy)?
No. Some texture mapping techniques don't require color to be present on Polygons, so some data providers have no PRIMARY_COLOR to supply. If a consumer cannot handle the texture mapping technique used in a transmittal, then the consumer will have to choose some appropriate default color.

Are all combinations of PRIMARY_COLOR, DISTANCE_BLEND_COLOR, and IMAGE_BLEND_COLOR color mapping valid for a single polygon's OTW front face?
Yes
.

Why do Color Tables have Primitive Colors instead of Inline Colors?
Color Tables used to be composed of Inline Colors, but problems arose since both Color Index and Inline Color objects can have Translucency. When a Color Index that has a Translucency component refers to an entry in a Color Table, the interpretation is clearer if the Color Table's entry cannot have any additional Translucency. Consequently, Primitive Color exists so that we can put 'just the color' into a Color Table's entry.

Constraints

Composed of (one-way)

Component of (one-way)(inherited)

Component of (one-way)

Field Elements

SE_TOKEN_SET color_mapping;
SE_TOKEN_SET presentation_domain;

Prev: Collision Volume. Next: Color Data. Up:Index.