ScalarSettings

class cee.ug.ScalarSettings()

Specification of how to render scalar results on the model, on cutting planes, on isosurfaces and on particle traces.

Use this object to control the visual appearance of scalar results in the 3D viewer. You can specify which colorScheme to use for the color legend and how many levels (unique colors) it should have with levelCount. You can also control the legend’s scaling, either by using autoRangeMode or by specifying rangeMinimum and rangeMaximum.

Example: Setup a custom color legend

var modelSpec = myModel.modelSpec;

var resultId = modelSpec.fringesResultId;
if (resultId >= 0) {
    var scalarSettings = myModel.getScalarSettingsById(resultId);

    var min = myModel.getScalarResultMinimumValue(resultId);
    var max = myModel.getScalarResultMaximumValue(resultId);
    var range = max - min;

    // Setup custom scale 50% -> 100% of the range using a green to brown legend.
    scalarSettings.setRange(min + range*0.5, max);
    scalarSettings.colorScheme = cee.ug.ColorScheme.WHITE_TO_BROWN;
    scalarSettings.levelCount = 3;
}

This code sample produces the following image in the 3D Viewer:

None

Accessors

cee.ug.ScalarSettings.aboveRangeColor()
get aboveRangeColor(): Color3Like

The color for the parts of the model that are above the current range.

Default is null, which means that the top color of the colorScheme will be used.

Note: Changing the colorScheme will set aboveRangeColor and belowRangeColor to null.

Returns: Color3Like

set aboveRangeColor(color: Color3Like): void

Parameters

color: Color3Like

Returns: void

cee.ug.ScalarSettings.autoRangeMode()
get autoRangeMode(): AutoRangeMode

Auto range mode. Set this value with setAutoRange.

To disable auto range, set a manual range with setRange.

Returns: AutoRangeMode

cee.ug.ScalarSettings.belowRangeColor()
get belowRangeColor(): Color3Like

The color for the parts of the model that are below the current range.

Default is null, which means that the bottom color of the colorScheme will be used.

Note: Changing the colorScheme will set aboveRangeColor and belowRangeColor to null.

Returns: Color3Like

set belowRangeColor(color: Color3Like): void

Parameters

color: Color3Like

Returns: void

cee.ug.ScalarSettings.colorMarkerArray()
get colorMarkerArray(): readonly  LegendColorMarker[]

Additional color legend markers that can be shown above or below the main markers in the legend.

Useful for describing above, below and undefined colors.

Example: Add a “No result” marker below the color legend:

scalarSettings.colorMarkerArray = [
    {
        position: cee.ug.LegendColorMarkerPosition.BELOW,
        color: new cee.Color3(0.5, 0.5, 0.5),
        description: "No result"
    }
];

Returns: readonly  LegendColorMarker[]

set colorMarkerArray(colorMarkers: readonly  LegendColorMarker[]): void

Parameters

colorMarkers: readonly  LegendColorMarker[]

Returns: void

cee.ug.ScalarSettings.colorScheme()
get colorScheme(): ColorScheme

The color scheme to use for the color legend and mapped colors on the model.

Use this property to set the color scheme to any of the pre-defined color schemes.

The colorScheme cannot be set to CUSTOM with this property. This is done with the setCustomContinuousColorArr() method or customFilledContoursColorArr property. colorScheme will return CUSTOM if one if these setters are used.

Note: Changing the colorScheme will set aboveRangeColor and belowRangeColor to null.

Returns: ColorScheme

set colorScheme(colorScheme: ColorScheme): void

Parameters

colorScheme: ColorScheme

Returns: void

cee.ug.ScalarSettings.customContinuousColorArr()
get customContinuousColorArr(): Color3Like[]

Get the custom continuous color array if defined.

This is setup with the setCustomContinuousColorArr() method.

Returns: Color3Like[]

cee.ug.ScalarSettings.customContinuousTickMarkArr()
get customContinuousTickMarkArr(): number[]

Get the custom continuous tick mark array if defined.

This is setup with the setCustomContinuousTickMarks() method.

Returns: number[]

cee.ug.ScalarSettings.customContinuousValueArr()
get customContinuousValueArr(): number[]

Get the custom continuous value array if defined.

This is setup with the setCustomContinuousColorArr() method.

Returns: number[]

cee.ug.ScalarSettings.customFilledContoursColorArr()
get customFilledContoursColorArr(): Color3Like[]

Setup the color legend with the given level colors.

The color scheme will be set to CUSTOM, and the number of levels will be set to the length of the provided array.

Returns: Color3Like[]

set customFilledContoursColorArr(colorArr: Color3Like[]): void

Parameters

colorArr: Color3Like[]

Returns: void

cee.ug.ScalarSettings.filledContoursColorArr()
get filledContoursColorArr(): Color3Like[]

Get the colors of the current color legend (if in levels mode)

If levelCount > 0, this will return the colors for each level on the color legend, starting from the bottom of the legend.

Note: If not using customFilledContoursColorArr, the color legend info needs to be received from the server before this method will return valid info, so make sure the current update of display model is fully completed.

Returns: Color3Like[]

cee.ug.ScalarSettings.filteringRangeMaximum()
get filteringRangeMaximum(): number

The maximum value the result needs to have to be visible when filtering is enabled. This will be undefined if filtering is disabled.

Returns: number

cee.ug.ScalarSettings.filteringRangeMinimum()
get filteringRangeMinimum(): number

The minimum value the result needs to have to be visible when filtering is enabled. This will be undefined if filtering is disabled.

Returns: number

cee.ug.ScalarSettings.isAutoRangeEnabled()
get isAutoRangeEnabled(): boolean

Whether auto range is enabled.

Returns: boolean

cee.ug.ScalarSettings.isFilteringEnabled()
get isFilteringEnabled(): boolean

Whether filtering of this scalar result is enabled.

Returns: boolean

cee.ug.ScalarSettings.legendVisibilityMode()
get legendVisibilityMode(): LegendVisibilityMode

Specifies the visibility of the color legend.

The legend can be set to appear if used by any part in the model (AUTO, default), to always be shown (ALWAYS) or to never be shown (NEVER)

Returns: LegendVisibilityMode

set legendVisibilityMode(mode: LegendVisibilityMode): void

Parameters

Returns: void

cee.ug.ScalarSettings.levelCount()
get levelCount(): number

The number of levels (unique colors) in the color legend.

If you want a continuous (smooth) legend, set the number of levels to 0. This will create a continuous legend with tick marks at round numbers.

Returns: number

set levelCount(numLevels: number): void

Parameters

numLevels: number

Returns: void

cee.ug.ScalarSettings.logarithmicMapping()
get logarithmicMapping(): boolean

If true, a logarithmic range will be used for the color legend and results mapping. If false, a linear mapping will be used.

Returns: boolean

set logarithmicMapping(logarithmicMapping: boolean): void

Parameters

logarithmicMapping: boolean

Returns: void

cee.ug.ScalarSettings.nodeAveragedValues()
get nodeAveragedValues(): boolean

Specify if the scalar result should be shown as a node averaged result or not.

If false (default) the result is shown as is computed. If true, a node averaged result will be shown that is derived from the original result.

Also, setting this value for a result used to compute a feature extraction (like isovolume) affects the way the feature extraction is generated. For example, for per-element result mapping, the isosurface will be generated as a smooth node-averaged surface when this is set to true, instead of the usual “blocky” appearance.

Returns: boolean

set nodeAveragedValues(useNodeAveraging: boolean): void

Parameters

useNodeAveraging: boolean

Returns: void

cee.ug.ScalarSettings.numericFormat()
get numericFormat(): string

The numerical format to use for the numbers on the color legend tick marks

Legal options: ‘g’: (default) (using the .toPrecision JS function). ‘f’: fixed notation (1234.0) (using the .toFixed() JS function) ‘e’: scientific notation (1.234e4) (using the .toExponential JS function)

The precision is controlled by the numericPrecision property.

Returns: string

set numericFormat(numericFormat: string): void

Parameters

numericFormat: string

Returns: void

cee.ug.ScalarSettings.numericPrecision()
get numericPrecision(): number

Set the precision to use for the numbers on the color legend tick marks

See numericFormat for the different options.

Returns: number

set numericPrecision(precision: number): void

Parameters

precision: number

Returns: void

cee.ug.ScalarSettings.rangeMaximum()
get rangeMaximum(): number

The maximum range of the scalar result if auto range is disabled. This is undefined if auto range is enabled.

To set a manual range, use the setRange function.

Returns: number

cee.ug.ScalarSettings.rangeMinimum()
get rangeMinimum(): number

The minimum range of the scalar result if auto range is disabled. This is undefined if auto range is enabled.

To set a manual range, use the setRange function.

Returns: number

cee.ug.ScalarSettings.resultId()
get resultId(): number

The id (>=0) of the scalar result. This id corresponds to the id in ModelDirectory.scalarResultArray.

Returns: number

cee.ug.ScalarSettings.scalingConstantTerm()
get scalingConstantTerm(): number

Constant scaling term used for custom scaling of the legend.

The value shown on the legend tick marks is:

legendValue = scalingConstantTerm + scalarValue*scalingFirstDegreeTerm

Returns: number

set scalingConstantTerm(scalingConstantTerm: number): void

Parameters

scalingConstantTerm: number

Returns: void

cee.ug.ScalarSettings.scalingFirstDegreeTerm()
get scalingFirstDegreeTerm(): number

First degree term used for custom scaling of the legend.

The value shown on the legend tick marks is:

legendValue = scalingConstantTerm + scalarValue*scalingFirstDegreeTerm

Returns: number

set scalingFirstDegreeTerm(scalingFirstDegreeTerm: number): void

Parameters

scalingFirstDegreeTerm: number

Returns: void

cee.ug.ScalarSettings.undefinedColor()
get undefinedColor(): Color3Like

The color of the parts of the model with an undefined result.

Returns: Color3Like

set undefinedColor(color: Color3Like): void

Parameters

color: Color3Like

Returns: void

Methods

cee.ug.ScalarSettings.disableFiltering()
disableFiltering(): void

Disables any filtering of the results.

Returns: void

cee.ug.ScalarSettings.getAsProperties()
getAsProperties(): ScalarSettingsProperties

Gets the settings for this object as a Plain Old JavaScript Object (POJO).

Returns: ScalarSettingsProperties

cee.ug.ScalarSettings.mapToColor()
mapToColor(scalarValue: number): Color3Like

Maps the given domain value to a color using the current scalar settings

Parameters

scalarValue: number

Returns: Color3Like

cee.ug.ScalarSettings.setAutoRange()
setAutoRange(mode: AutoRangeMode): void

Sets the automatic full range of the scalar result.

Set this to AutoRangeMode.ALL_ITEMS to use the full range for the result (this is the default) or to AutoRangeMode.VISIBLE_ITEMS to limit the range to the currently visible parts

Parameters

Returns: void

cee.ug.ScalarSettings.setCustomContinuousColorArr()
setCustomContinuousColorArr(colorArr: Color3Like[], valueArr: number[]): void

Sets custom color scheme for a continuous color legend.

Specify an array of colors to use to create the interpolated continuous legend.

If values are specified (valueArr) the color will be set at that value and interpolated between the values. If no values are provided the specified colors will be distributed evenly between min and max.

The range will be adjusted if needed to include the specified values (if any).

Please note that there is no correlation between the values specified and the tick marks on the legend. The values specify the position of the color on the legend. The tick marks will be distributed on round numbers.

Note! colorScheme will be set to ColorScheme.CUSTOM and the levelCount to 0.

Parameters

colorArr: Color3Like[]

valueArr: number[]

Returns: void

cee.ug.ScalarSettings.setCustomContinuousTickMarks()
setCustomContinuousTickMarks(tickMarkValues: number[]): void

Set custom tick marks for a continuous color legend. Any values outside the legend min/max range will be ignored. If an empty array or falsy value is provided, the tick marks will be distributed on round numbers by default.

Note this will not set the legend to be continuous. To do that, set levelCount to 0.

Parameters

tickMarkValues: number[]

Returns: void

cee.ug.ScalarSettings.setFilteringRange()
setFilteringRange(minValue: number, maxValue: number): void

Specifies to show only the results whose value lies within the given range.

When enabled, only results whose value is within the given filter range <minValue, maxValue> will be drawn. All other results will be discarded and not drawn.

The filtering will be done on a per-element basis, so an element (and thus all its surface) is either fully visible or not visible. If you have a per-node or per-element-node result, the element is visible if at least one of the nodes is within range.

Parameters

minValue: number

maxValue: number

Returns: void

cee.ug.ScalarSettings.setFromProperties()
setFromProperties(props: Partial): void

Applies the settings in the given properties object to this scalar settings

Parameters

props: Partial

Returns: void

cee.ug.ScalarSettings.setRange()
setRange(min: number, max: number): void

Sets a user defined range of the scalar result.

This function will disable auto range.

Parameters

min: number

max: number

Returns: void