Geometry

class cee.usg.Geometry()

The geometry class defines a CAE surface geometry that can be used in one or more State

A geometry has one or more Part Each part defines a mesh with surface elements and nodes, as well as settings on how to render a part. There is no limit on the number of nodes per element. A mesh can also be shared between parts (in the same or different geometries).

The common case is to use one geometry for all states and then use displacements and/or transformation results to animate the model. Scalar and vector results can also be defined per state.

Example:

let model = new cee.usg.UnstructGridModel();
this.m_view.addModel(model);
this.m_view.backgroundColor = new cee.Color3(1,1,1);

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

const vertexArr = [
0,0,0,
1,0,0, 1,3,0,
2,0,0, 4,0,0, 3,3,0,
5,0,0, 7,0,0, 7,3,0, 5,3,0,
9,0,0, 10,0,0, 11,1,0, 11,2,0, 10,3,0, 9,3,0, 8,2,0, 8,1,0,
12,0,0, 14,0,0, 16,0,0,
12,3,0, 14,3,0, 16,3,0
];

const elConnArr = [
0,
1,2,
3,4,5,
6,7,8,9,
10,11,12,13,14,15,16,17,
18,19,22,21,
19,20,23,22
];

const elNodeCountArr = [1, 2, 3, 4, 8, 4, 4];

// Create the first part
let part1 = geometry.addPart();
part1.mesh = new cee.usg.Mesh(vertexArr, elNodeCountArr, elConnArr);
part1.settings.color = new cee.Color3(1,0,0);

// Create the second part - same mesh with transform
let part2 = geometry.addPart();
part2.mesh = part1.mesh;
part2.settings.color = new cee.Color3(0,1,0);
part2.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;

// Transform the second part
state.setPartTransformationAt(1, cee.Mat4.fromTranslation(new cee.Vec3(0,5,0)));

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

Accessors


Accessors

cee.usg.Geometry.partCount

The number of parts in the model.

Methods

addPart

cee.usg.Geometry.addPart()

Creates a new part and adds it to the geometry.

Return type

cee.usg.Part

Returns the newly created part.

deleteAllParts

cee.usg.Geometry.deleteAllParts()

Delete all parts in the geometry

Return type

void

deletePartAt

cee.usg.Geometry.deletePartAt(partIndex)

Delete the part at the given zero based index

Arguments
  • partIndex (number) –

Return type

void

getPartArray

cee.usg.Geometry.getPartArray()

Returns a read only array with all parts

Return type

ReadonlyArray[cee.usg.Part]

getPartAt

cee.usg.Geometry.getPartAt(partIndex)

Returns an active reference to the part at the given (zero based) index.

Arguments
  • partIndex (number) –

Return type

cee.usg.Part