Options
All
  • Public
  • Public/Protected
  • All
Menu

Class UnstructGridModel

The UnstructGridModel implements a client side model for handling surface CAE models.

It handles surface elements with any number of nodes. A model has one or more States, which links a Geometry to scalar, displacement and transformation results for that geometry in that state.

Here is a simple example of how to create an usg model containing a single quad element with a per node scalar result in one state:

let model = new cee.usg.UnstructGridModel();
this.m_view.addModel(model);

let geometry = new cee.usg.Geometry();
let part = geometry.addPart();

// Create a single quad mesh
const nodeArr = [0,0,0, 1,0,0, 1,1,0, 0,1,0];
const elConnArr = [0,1,2,3];
part.mesh = new cee.usg.Mesh(nodeArr, 4, elConnArr);

// Configure the visual appearance of the part
part.settings.color = new cee.Color3(1,0,0);
part.settings.drawStyle = cee.usg.DrawStyle.SURFACE_MESH

// Create a state, set the geometry and add the scalar result
let state = model.addState();
state.geometry = geometry;

let scalarArr = [1,2,3,4];
state.setPartFringesAt(0, new cee.usg.PartScalars(cee.usg.ResultMapping.PER_NODE, scalarArr));

// Configure the mapper to use, and
const mapper = new cee.ScalarMapperFilledContoursUniform();
mapper.colorArray = cee.ColorTableFactory.color4TableArray(cee.ColorTable.NORMAL, 15);
mapper.setRange(1,4);
model.fringesSettings.scalarMapper = mapper;

// Add a color legend based on the mapper
this.m_view.overlay.addCustomColorLegendForScalarMapper(mapper, "Demo result", 1);

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

alt text

Hierarchy

  • Model
    • UnstructGridModel

Index

Constructors

constructor

Accessors

Readonly currentState

currentState: State

The zero based index of the state currently shown in the view

currentStateIndex

currentStateIndex: number

The state to show in the view.

The given zero-based index must be between 0 and stateCount - 1.

Readonly displacementSettings

displacementSettings: DisplacementSettings

Settings for the displacement results

Readonly fringesSettings

fringesSettings: ScalarSettings

Settings for the scalars shown as fringes on the model

name

name: string

The name of the geometry model. Mainly used for debugging.

Readonly stateCount

stateCount: number

Returns the number of states in this model

Readonly vectorSettings

vectorSettings: VectorSettings

Settings for the scalars shown as fringes on the model

Methods

addState

  • Add a state to the model.

    The added state is returned.

    Returns State

deleteAllStates

  • deleteAllStates(): void
  • Delete all states in the model.

    Returns void

deleteStateAt

  • deleteStateAt(stateIndex: number): void
  • Delete a state at the given zero based index.

    Parameters

    • stateIndex: number

    Returns void

deleteStateRange

  • deleteStateRange(startIndex: number, deleteCount?: number): void
  • Delete a range of states. First state that will be deleted is the state with the given index If deleteCount is omitted, all states starting with the given index will be deleted.

    Works similar to the splice method on Javascript arrays

    Parameters

    • startIndex: number
    • Optional deleteCount: number

    Returns void

getBoundingBox

getFringesResultRange

  • getFringesResultRange(): Range
  • Get the range of the scalar result in this model

    Returns Range

getStateArray

  • getStateArray(): ReadonlyArray<State>
  • Returns a readonly array of all the states in the model

    Returns ReadonlyArray<State>

getStateAt

  • getStateAt(stateIndex: number): State
  • Returns a reference to the state at the given index

    Parameters

    • stateIndex: number

    Returns State

rayIntersect

  • Performs picking on the model in the current state.

    If something was hit, returns a HitItem containing information about the part and primitive that was hit.

    If nothing was hit, returns null.

    Parameters

    Returns HitItem

Generated using TypeDoc