ProtocolAssessment

ProtocolAssessment

Class to do assessments for a protocol on D3PLOT

It extends the Protocol class and adds the assessment functions

It is separated like this because it uses D3PLOT JS-API functions that if they were in the Protocol class would stop it from working in PRIMER.

Constructor

new ProtocolAssessment(regulation, crash_test, version, vehicle)

Source:
Example
let vehicle = Protocols.GetProtocolVehicle(regulation, crash_test, version);
let protocol = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", vehicle, []);
Parameters:
Name Type Description
regulation string Regulation, e.g. Regulation.CNCAP
crash_test string Crash test, e.g. CrashTest.ODB
version string Version, e.g. "7.1.2"
vehicle ProtocolVehicle class containing info about valid occupant types

Extends

Members

assessment_datums :Array.<AssessmentDatums>

Description:
  • Array of AssessmentDatums instances
Source:
Overrides:
Array of AssessmentDatums instances
Type:

crash_test :string

Description:
  • Protocol crash test
Source:
Overrides:
Protocol crash test
Type:
  • string

regulation :string

Description:
  • Protocol regulation
Source:
Overrides:
Protocol regulation
Type:
  • string

version :string

Description:
  • Protocol version
Source:
Overrides:
Protocol version
Type:
  • string

Methods

(static) CreateDefaultProtocol(regulation, crash_test, version) → {ProtocolAssessment}

Description:
  • Create a ProtocolAssessment instance with the default Vehicle for the given regulation, test and year
Source:
Example
let p = ProtocolAssessment.CreateDefaultProtocol(Regulation.CNCAP, CrashTest.ODB, "7.1.2");
Parameters:
Name Type Description
regulation string Protocol regulation
crash_test string Protocol test
version string Version, e.g. "7.1.2"
Returns:
Type
ProtocolAssessment

(static) CreateDefaultProtocol(regulation, crash_test, version) → {ProtocolAssessment}

Description:
  • Create a ProtocolAssessment instance with the default Vehicle and AssessmentDatums for the given regulation, test and year
Source:
Example
let p = ProtocolAssessment.CreateDefaultProtocol(Regulation.CNCAP, CrashTest.ODB, "7.1.2");
Parameters:
Name Type Description
regulation string Protocol regulation
crash_test string Protocol test
version string Version, e.g. "7.1.2"
Returns:
Type
ProtocolAssessment

(static) cross(A, B) → {Array.<number>}

Description:
  • Return the cross product of two vectors
Source:
Parameters:
Name Type Description
A Array.<number>
B Array.<number>
Returns:
Type
Array.<number>

(static) dot(A, B) → {number}

Description:
  • Return the dot product of two vectors
Source:
Parameters:
Name Type Description
A Array.<number>
B Array.<number>
Returns:
Type
number

(static) get_current_excursion_from_seat_cl(origin_y, local, seat_centre_y, head_internal_node_id, sign) → {number}

Description:
  • Returns the current excursion from the seat centre line
Source:
Parameters:
Name Type Description
origin_y number Origin Y coordinate
local GetLocalDatumReturn Local datum
seat_centre_y number Set centre Y coordinate
head_internal_node_id number Hed internal node id
sign number Sign -1 or +1
Returns:
Type
number

(static) get_excursion_zone(excursion, head_excursion, unit_system) → {string}

Description:
  • Returns the excursion zone
Source:
Parameters:
Name Type Description
excursion number Excursion value
head_excursion HeadExcursionStructure Head excursion
unit_system number
Returns:
Type
string

(static) get_local_datum(head_excursion, rotation_matrix) → {GetLocalDatumReturn}

Description:
  • For each time step calculate the dot product of the head node displacement (just pick one for efficiency) and the vector that defines the cross car direction (note this can change because the car moves during the analysis too) assumption is that n1 and n2' define car x axis are the datum and Y offsett of n1 at t=0 (first state) is calculated as the Y_n1 - Y_seat_centre = Y_offset. After state 1, Y_offset is used as the datum and excursion is measured as Y distance perpendicular to n1 and n2' (note that n2' is coordinate of n2 rotated back to global X axis at t=0 )
Source:
Parameters:
Name Type Description
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
rotation_matrix Array.<Array.<number>> Rotation matrix
Returns:
Type
GetLocalDatumReturn

(static) get_normalised_vector_from_coords(coords_1, coords_2) → {Array.<number>}

Description:
  • Calculates the normalised vector from one coordinate to another. Expects coordinates to be in the form [x, y, z]
Source:
Parameters:
Name Type Description
coords_1 Array.<number> First coordinates
coords_2 Array.<number> Second coordinates
Returns:
Type
Array.<number>

(static) get_rotation_matrix(a, b)

Description:
  • get_rotation_matrix function is based on logic from the following stackexchange question: https://math.stackexchange.com/questions/180418/calculate-rotation-matrix-to-align-vector-a-to-vector-b-in-3d/897677#897677 the rotation matrix is used to rotate the n1->n2 vector used to define the shift deform to the global y axis at the first state. The same rotation matrix is then used to calculate the local y axis which is the assumed direction to measure excursion in. e.g. if the car rotates on impact it will not be correct/meaningful to calculate the y displacement of the head nodes as the excursion will be in the 'cross-car' direction which is what we call local y because the initial cross car direction is assumed to be the same as global y (i.e. the car is pointing in the x direction)
Source:
Parameters:
Name Type Description
a Array.<number>
b Array.<number>
Returns:

(static) magnitude(A) → {number}

Description:
  • Return the magnitude of a vector
Source:
Parameters:
Name Type Description
A Array.<number> Vector
Returns:
Type
number

(static) matrix_3x3_Add(matrices) → {Array.<Array.<number>>}

Description:
  • Return the matrix addition of an array of 3x3 matrices
Source:
Parameters:
Name Type Description
matrices Array.<Array.<Array.<number>>>
Returns:
Type
Array.<Array.<number>>

(static) multiply_matrices(m1, m2) → {Array.<Array.<number>>}

Description:
  • Return the matrix multiplication of two matrices
Source:
Parameters:
Name Type Description
m1 Array.<Array.<number>>
m2 Array.<Array.<number>>
Returns:
Type
Array.<Array.<number>>

(static) only_unique(value, index, arr) → {boolean}

Description:
  • Filter function to return only unique values in an array
Source:
Parameters:
Name Type Description
value any Value of current element
index number Index of current element
arr Array.<any> Array to filter
Returns:
Type
boolean

(static) vector_x_matrix(v, m) → {Array.<number>}

Description:
  • Returns the multiplication of a vector and matrix
Source:
Parameters:
Name Type Description
v Array.<number>
m Array.<Array.<number>>
Returns:
Type
Array.<number>

ApplyOptionsToGraphs(options, graph_ids) → {number}

Description:
  • Apply the selected options to the graphs
Source:
Parameters:
Name Type Description
options DoAssessmentOptions Options to specify what to do for the graphs
graph_ids Array.<number> Graph ids to apply options to
Returns:
The last page id used
Type
number

ColourHeadExcursionVehicleModel(model_id, head_parts, barrier_parts)

Description:
  • Colour the vehicle, occupant head and barrier parts
Source:
Parameters:
Name Type Description
model_id number Model ID
head_parts Array.<number> Head part IDs
barrier_parts Array.<number> Barrier part IDs

ColourHeadExcursionZoneParts(model_id)

Description:
  • Colour the zone parts in a model
Source:
Parameters:
Name Type Description
model_id number Model ID

CreateHeadExcursionZones(head_excursion, unit_system) → {boolean}

Description:
  • Create NULL shell parts in PRIMER to represent the zone bands in car space (relative to the driver) and then save the parts to a PTF file for D3PLOT to read in
Source:
Parameters:
Name Type Description
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
unit_system number Unit system
Returns:
Type
boolean

DoBPillarAssessment(model_id, b_pillar, unit_system) → (nullable) {StructureAssessmentOutput}

Description:
  • Does the B-Pillar intrusion assessment
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
Returns:
Type
StructureAssessmentOutput

DoHeadExcursionAssessment(model_id, head_excursion, unit_system) → (nullable) {StructureAssessmentOutput}

Description:
  • Does the Head Excursion assessment
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
unit_system number Unit system
Returns:
Type
StructureAssessmentOutput

DoOccupantAssessment(occupants_data, assessment_types, optionsopt) → {DoAssessmentResults}

Description:
  • Do calculations on an OccupantBodyPart
Source:
Example
let vehicle = Protocols.GetProtocolVehicle(regulation, crash_test, version);
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", vehicle, []);
let m = Model.GetFromID(1);
let o = new WorkflowOccupant(WorkflowOccupant.HUMANETICS_HIII_50M_V1_5,
                             WorkflowOccupant.DRIVER,
                             WorkflowOccupant.LEFT,
                             WorkflowOccupant.FRONT,
                             []);
let occupants_data = [new DoOccupantAssessmentOccupantData(o, m, Workflow.UNIT_SYSTEM_U2)];
let assessment_types = [AssessmentType.NECK_AXIAL, AssessmentType.NECK_SHEAR];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoOccupantAssessment(occupants_data,
                                        assessment_types,
                                        options);
Parameters:
Name Type Attributes Default Description
occupants_data Array.<DoOccupantAssessmentOccupantData> Array of DoOccupantAssessmentOccupantData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.NECK_AXIAL
options DoAssessmentOptions <optional>
null Options
Returns:
Type
DoAssessmentResults

DoStructureAssessment(structures_data, assessment_types) → {DoAssessmentResults}

Description:
  • Do calculations on a Structure
Source:
Example
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", []);
let m = Model.GetFromID(1);
let s = new Structure(Structure.B_PILLAR, []);
let extra = { "cut_section_method": "Constant X", "cut_section_nodes": [1000, 2000, 3000] }  // ...etc
let structures_data = [new DoStructureAssessmentStructureData(s, m, Workflow.UNIT_SYSTEM_U2, extra)];
let assessment_types = [AssessmentType.B_PILAR_INTRUSION];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoStructureAssessment(structures_data,
                                        assessment_types);
Parameters:
Name Type Description
structures_data Array.<DoStructureAssessmentStructureData> Array of DoStructureAssessmentStructureData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.B_PILLAR_INTRUSION
Returns:
Type
DoAssessmentResults

DoStructureAssessment(structures_data, assessment_types, optionsopt) → {DoAssessmentResults}

Description:
  • Do calculations on a Structure
Source:
Example
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", []);
let m = Model.GetFromID(1);
let s = new Structure(Structure.A_PILLAR, []);
let structures_data = [new DoStructureAssessmentStructureData(s, m, Workflow.UNIT_SYSTEM_U2)];
let assessment_types = [AssessmentType.A_PILLAR_INTRUSION];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoStructureAssessment(structures_data,
                                        assessment_types,
                                        options);
Parameters:
Name Type Attributes Default Description
structures_data Array.<DoStructureAssessmentStructureData> Array of DoStructureAssessmentStructureData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.DOOR_INTRUSION
options DoAssessmentOptions <optional>
null Options
Returns:
Type
DoAssessmentResults

GetCurveColourByIndex(index) → {number}

Description:
  • Returns a colour to use for a curve by index
Source:
Parameters:
Name Type Description
index number
Returns:
Type
number

GetDatumsByAssessment(assessment) → (nullable) {AssessmentDatums}

Description:
  • Returns the datums for the given assessment
Source:
Overrides:
Example
let assessment_datums = p.GetDatumsByAssessment(AssessmentType.NECK_EXTENSION);
for (let datum of assessment_datums.datums)
{
    datum.Plot();
}
Parameters:
Name Type Description
assessment string Assessment type, e.g. AssessmentType.NECK_AXIAL
Returns:
Type
AssessmentDatums

GetReporterVariableValues(filename) → (nullable) {Array.<ReporterVariable>}

Description:
  • Reads the variables file written by REPORTER and returns an array of objects containing the values of the variables. Returns null on error.
Source:
Parameters:
Name Type Description
filename string Variables file to read
Returns:
Type
Array.<ReporterVariable>

GetViscousCriterionConstants() → (nullable) {ViscousCriterionConstants}

Description:
  • Returns the Viscous Criterion Constants
Source:
Overrides:
Returns:
Type
ViscousCriterionConstants

HICWindow(occupant) → {number}

Description:
  • Returns the HIC window (in seconds) for the protocol and the given occupant
Source:
Overrides:
Example
// Get the HIC window to use for Protocol p and occupant o
let hic_window = p.HICWindow(o);
Parameters:
Name Type Description
occupant WorkflowOccupant Workflow occupant
Returns:
Type
number

OccupantAssessmentTypes(occupant, body_part_type) → {Array.<string>}

Description:
  • Returns the assessment types we support for the protocol and the given occupant and body part type
Source:
Overrides:
Example
let assessment_types = p.OccupantAssessmentTypes(o, OccupantBodyPart.NECK);
Parameters:
Name Type Description
occupant WorkflowOccupant Occupant
body_part_type string Occupant body part type
Returns:
Type
Array.<string>

ReadAbdomenCompression(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen compression from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadAbdomenForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadAbdomenViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadAcetabularForce(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads acetabular force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadAllIntrusion(model, structure, unit_system, structure_index) → (nullable) {ReadStructureOutput}

Description:
  • Reads all intrusions (vertical, lateral and fore/aft) from the given structure
Source:
Parameters:
Name Type Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
Returns:
Type
ReadStructureOutput

ReadChestAcceleration(model, occupant, unit_system, occupant_index, optionsopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest acceleration from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
options object <optional>
Options
Returns:
Type
ReadAssessmentOutput

ReadChestCompression(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest compression from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadChestCompressionRate(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest compression rate from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadChestViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadFemurAxial(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur axial force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurCompressionExceedence(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur compression exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurCompressionVsImpulse(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur compression vs impulse from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurForce(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur resultant force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFootAcceleration(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads foot acceleration from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadForeAftIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads fore/aft intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

ReadHeadAcceleration(model, occupant, unit_system, occupant_index, optionsopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads head accelerations from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Example
let curve = p.ReadHeadAcceleration(model, occupant, unit_system);
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
options object <optional>
Options
Returns:
Type
ReadAssessmentOutput

ReadIliumForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads ilium force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadKneeDisplacement(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads knee displacement from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadLateralIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads lateral intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

ReadLumbarAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar axial force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadLumbarShear(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar shear force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadLumbarTorsion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar torsion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckBending(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck bending from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckCompressionExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck compression force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerExtension(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower extension moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerFlexion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower flexion moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckNIJ(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads Neck Injury Criteria (NIJ) from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckShear(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck shear forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckShearExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck shear force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckTensionExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck tension force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperExtension(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper extension moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperFlexion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper flexion moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadPelvisForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads pelvis force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderDeflection(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder deflection from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderDeflectionRate(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder deflection rate from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderLateralForces(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder lateral forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadTibiaCompression(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads tibia compression force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadTibiaIndex(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads tibia index from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadVerticalIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads vertical intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

RunBPillarReporterTemplate(model_id, b_pillar, unit_system, template_file, log_file) → {boolean}

Description:
  • Runs the Reporter template to generate an image for the B-Pillar assessment using the coordinates written out to files by D3PLOT. Returns true if the template ran successfully, false otherwise.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
template_file string Template file to run
log_file string Log file to write to
Returns:
Type
boolean

SetBPillarShiftDeform(model_id, b_pillar)

Description:
  • Set the shift deform nodes for the B-Pillar structure.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment

SetCutSectionByMethod(model_id, cut_section_method, thickness, cut_section_node_1, cut_section_node_2, cut_section_node_3) → {boolean}

Source:
Parameters:
Name Type Description
model_id number Model to set cut section on
cut_section_method string Cut section method ("Three Nodes", "Constant X", "Constant Y", "Constant Z")
thickness number Cut section thickness
cut_section_node_1 number Node ID of first node
cut_section_node_2 number Node ID of second node
cut_section_node_3 number Node ID of first node
Returns:
Type
boolean

SetupHeadExcursionDisplay(vehicle_model_id, zone_model_id, peak_state)

Description:
  • Sets up the display for the head excursion assessment
Source:
Parameters:
Name Type Description
vehicle_model_id number Vehicle model ID
zone_model_id number Zone model ID
peak_state number Peak state

StructureAssessmentTypes(structure) → {Array.<string>}

Description:
  • Returns the assessment types we support for the protocol and the given structure
Source:
Overrides:
Example
let assessment_types = p.StructureAssessmentTypes(s);
Parameters:
Name Type Description
structure Structure Structure
Returns:
Type
Array.<string>

toString() → {string}

Description:
  • String representation
Source:
Overrides:
Returns:
Type
string

UniqueOccupantAssessmentTypes(occupants, body_part_types) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given occupants and body parts
Source:
Parameters:
Name Type Description
occupants Array.<WorkflowOccupant> WorkflowOccupant instances
body_part_types Array.<string> Body part types
Returns:
Type
Array.<string>

UniqueStructureAssessmentTypes(structures) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given structures
Source:
Parameters:
Name Type Description
structures Array.<Structure> Structure instances
Returns:
Type
Array.<string>

UniqueStructureAssessmentTypes(structures) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given structures
Source:
Parameters:
Name Type Description
structures Array.<Structure> Structure instances
Returns:
Type
Array.<string>

WriteBPillarCutSectionCoordinates(model_id, b_pillar, unit_system, first_state_coords_filename, last_state_coords_filename) → {boolean}

Description:
  • Writes the cut section coordinates to two files; one at the first state, one at the last state. The files are written to the same directory as the B-Pillar template.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
first_state_coords_filename string Filename to write first state coordinates to
last_state_coords_filename string Filename to write last state coordinates to
Returns:
Type
boolean

ProtocolAssessment

Class to do assessments for a protocol in T/HIS

It extends the Protocol class and adds the assessment functions

It is separated like this because it uses T/HIS JS-API functions that if they were in the Protocol class would stop it from working in PRIMER.

Constructor

new ProtocolAssessment(regulation, crash_test, version, vehicle, assessment_datums)

Source:
Example
let vehicle = Protocols.GetProtocolVehicle(regulation, crash_test, version);
let protocol = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", vehicle, []);
Parameters:
Name Type Description
regulation string Regulation, e.g. Regulation.CNCAP
crash_test string Crash test, e.g. CrashTest.ODB
version string Version, e.g. "7.1.2"
vehicle ProtocolVehicle class containing info about valid occupant types
assessment_datums Array.<AssessmentDatums> Array of AssessmentDatums instances

Extends

Members

assessment_datums :Array.<AssessmentDatums>

Description:
  • Array of AssessmentDatums instances
Source:
Overrides:
Array of AssessmentDatums instances
Type:

crash_test :string

Description:
  • Protocol crash test
Source:
Overrides:
Protocol crash test
Type:
  • string

regulation :string

Description:
  • Protocol regulation
Source:
Overrides:
Protocol regulation
Type:
  • string

version :string

Description:
  • Protocol version
Source:
Overrides:
Protocol version
Type:
  • string

Methods

(static) CreateDefaultProtocol(regulation, crash_test, version) → {ProtocolAssessment}

Description:
  • Create a ProtocolAssessment instance with the default Vehicle for the given regulation, test and year
Source:
Example
let p = ProtocolAssessment.CreateDefaultProtocol(Regulation.CNCAP, CrashTest.ODB, "7.1.2");
Parameters:
Name Type Description
regulation string Protocol regulation
crash_test string Protocol test
version string Version, e.g. "7.1.2"
Returns:
Type
ProtocolAssessment

(static) CreateDefaultProtocol(regulation, crash_test, version) → {ProtocolAssessment}

Description:
  • Create a ProtocolAssessment instance with the default Vehicle and AssessmentDatums for the given regulation, test and year
Source:
Example
let p = ProtocolAssessment.CreateDefaultProtocol(Regulation.CNCAP, CrashTest.ODB, "7.1.2");
Parameters:
Name Type Description
regulation string Protocol regulation
crash_test string Protocol test
version string Version, e.g. "7.1.2"
Returns:
Type
ProtocolAssessment

(static) cross(A, B) → {Array.<number>}

Description:
  • Return the cross product of two vectors
Source:
Parameters:
Name Type Description
A Array.<number>
B Array.<number>
Returns:
Type
Array.<number>

(static) dot(A, B) → {number}

Description:
  • Return the dot product of two vectors
Source:
Parameters:
Name Type Description
A Array.<number>
B Array.<number>
Returns:
Type
number

(static) get_current_excursion_from_seat_cl(origin_y, local, seat_centre_y, head_internal_node_id, sign) → {number}

Description:
  • Returns the current excursion from the seat centre line
Source:
Parameters:
Name Type Description
origin_y number Origin Y coordinate
local GetLocalDatumReturn Local datum
seat_centre_y number Set centre Y coordinate
head_internal_node_id number Hed internal node id
sign number Sign -1 or +1
Returns:
Type
number

(static) get_excursion_zone(excursion, head_excursion, unit_system) → {string}

Description:
  • Returns the excursion zone
Source:
Parameters:
Name Type Description
excursion number Excursion value
head_excursion HeadExcursionStructure Head excursion
unit_system number
Returns:
Type
string

(static) get_local_datum(head_excursion, rotation_matrix) → {GetLocalDatumReturn}

Description:
  • For each time step calculate the dot product of the head node displacement (just pick one for efficiency) and the vector that defines the cross car direction (note this can change because the car moves during the analysis too) assumption is that n1 and n2' define car x axis are the datum and Y offsett of n1 at t=0 (first state) is calculated as the Y_n1 - Y_seat_centre = Y_offset. After state 1, Y_offset is used as the datum and excursion is measured as Y distance perpendicular to n1 and n2' (note that n2' is coordinate of n2 rotated back to global X axis at t=0 )
Source:
Parameters:
Name Type Description
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
rotation_matrix Array.<Array.<number>> Rotation matrix
Returns:
Type
GetLocalDatumReturn

(static) get_normalised_vector_from_coords(coords_1, coords_2) → {Array.<number>}

Description:
  • Calculates the normalised vector from one coordinate to another. Expects coordinates to be in the form [x, y, z]
Source:
Parameters:
Name Type Description
coords_1 Array.<number> First coordinates
coords_2 Array.<number> Second coordinates
Returns:
Type
Array.<number>

(static) get_rotation_matrix(a, b)

Description:
  • get_rotation_matrix function is based on logic from the following stackexchange question: https://math.stackexchange.com/questions/180418/calculate-rotation-matrix-to-align-vector-a-to-vector-b-in-3d/897677#897677 the rotation matrix is used to rotate the n1->n2 vector used to define the shift deform to the global y axis at the first state. The same rotation matrix is then used to calculate the local y axis which is the assumed direction to measure excursion in. e.g. if the car rotates on impact it will not be correct/meaningful to calculate the y displacement of the head nodes as the excursion will be in the 'cross-car' direction which is what we call local y because the initial cross car direction is assumed to be the same as global y (i.e. the car is pointing in the x direction)
Source:
Parameters:
Name Type Description
a Array.<number>
b Array.<number>
Returns:

(static) magnitude(A) → {number}

Description:
  • Return the magnitude of a vector
Source:
Parameters:
Name Type Description
A Array.<number> Vector
Returns:
Type
number

(static) matrix_3x3_Add(matrices) → {Array.<Array.<number>>}

Description:
  • Return the matrix addition of an array of 3x3 matrices
Source:
Parameters:
Name Type Description
matrices Array.<Array.<Array.<number>>>
Returns:
Type
Array.<Array.<number>>

(static) multiply_matrices(m1, m2) → {Array.<Array.<number>>}

Description:
  • Return the matrix multiplication of two matrices
Source:
Parameters:
Name Type Description
m1 Array.<Array.<number>>
m2 Array.<Array.<number>>
Returns:
Type
Array.<Array.<number>>

(static) only_unique(value, index, arr) → {boolean}

Description:
  • Filter function to return only unique values in an array
Source:
Parameters:
Name Type Description
value any Value of current element
index number Index of current element
arr Array.<any> Array to filter
Returns:
Type
boolean

(static) vector_x_matrix(v, m) → {Array.<number>}

Description:
  • Returns the multiplication of a vector and matrix
Source:
Parameters:
Name Type Description
v Array.<number>
m Array.<Array.<number>>
Returns:
Type
Array.<number>

ApplyOptionsToGraphs(options, graph_ids) → {number}

Description:
  • Apply the selected options to the graphs
Source:
Parameters:
Name Type Description
options DoAssessmentOptions Options to specify what to do for the graphs
graph_ids Array.<number> Graph ids to apply options to
Returns:
The last page id used
Type
number

ColourHeadExcursionVehicleModel(model_id, head_parts, barrier_parts)

Description:
  • Colour the vehicle, occupant head and barrier parts
Source:
Parameters:
Name Type Description
model_id number Model ID
head_parts Array.<number> Head part IDs
barrier_parts Array.<number> Barrier part IDs

ColourHeadExcursionZoneParts(model_id)

Description:
  • Colour the zone parts in a model
Source:
Parameters:
Name Type Description
model_id number Model ID

CreateHeadExcursionZones(head_excursion, unit_system) → {boolean}

Description:
  • Create NULL shell parts in PRIMER to represent the zone bands in car space (relative to the driver) and then save the parts to a PTF file for D3PLOT to read in
Source:
Parameters:
Name Type Description
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
unit_system number Unit system
Returns:
Type
boolean

DoBPillarAssessment(model_id, b_pillar, unit_system) → (nullable) {StructureAssessmentOutput}

Description:
  • Does the B-Pillar intrusion assessment
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
Returns:
Type
StructureAssessmentOutput

DoHeadExcursionAssessment(model_id, head_excursion, unit_system) → (nullable) {StructureAssessmentOutput}

Description:
  • Does the Head Excursion assessment
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
head_excursion HeadExcursionStructure Head Excursion structure with data required for assessment
unit_system number Unit system
Returns:
Type
StructureAssessmentOutput

DoOccupantAssessment(occupants_data, assessment_types, optionsopt) → {DoAssessmentResults}

Description:
  • Do calculations on an OccupantBodyPart
Source:
Example
let vehicle = Protocols.GetProtocolVehicle(regulation, crash_test, version);
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", vehicle, []);
let m = Model.GetFromID(1);
let o = new WorkflowOccupant(WorkflowOccupant.HUMANETICS_HIII_50M_V1_5,
                             WorkflowOccupant.DRIVER,
                             WorkflowOccupant.LEFT,
                             WorkflowOccupant.FRONT,
                             []);
let occupants_data = [new DoOccupantAssessmentOccupantData(o, m, Workflow.UNIT_SYSTEM_U2)];
let assessment_types = [AssessmentType.NECK_AXIAL, AssessmentType.NECK_SHEAR];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoOccupantAssessment(occupants_data,
                                        assessment_types,
                                        options);
Parameters:
Name Type Attributes Default Description
occupants_data Array.<DoOccupantAssessmentOccupantData> Array of DoOccupantAssessmentOccupantData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.NECK_AXIAL
options DoAssessmentOptions <optional>
null Options
Returns:
Type
DoAssessmentResults

DoStructureAssessment(structures_data, assessment_types) → {DoAssessmentResults}

Description:
  • Do calculations on a Structure
Source:
Example
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", []);
let m = Model.GetFromID(1);
let s = new Structure(Structure.B_PILLAR, []);
let extra = { "cut_section_method": "Constant X", "cut_section_nodes": [1000, 2000, 3000] }  // ...etc
let structures_data = [new DoStructureAssessmentStructureData(s, m, Workflow.UNIT_SYSTEM_U2, extra)];
let assessment_types = [AssessmentType.B_PILAR_INTRUSION];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoStructureAssessment(structures_data,
                                        assessment_types);
Parameters:
Name Type Description
structures_data Array.<DoStructureAssessmentStructureData> Array of DoStructureAssessmentStructureData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.B_PILLAR_INTRUSION
Returns:
Type
DoAssessmentResults

DoStructureAssessment(structures_data, assessment_types, optionsopt) → {DoAssessmentResults}

Description:
  • Do calculations on a Structure
Source:
Example
let p = new ProtocolAssessment(Regulation.CNCAP, CrashTest.ODB, "7.1.2", []);
let m = Model.GetFromID(1);
let s = new Structure(Structure.A_PILLAR, []);
let structures_data = [new DoStructureAssessmentStructureData(s, m, Workflow.UNIT_SYSTEM_U2)];
let assessment_types = [AssessmentType.A_PILLAR_INTRUSION];
let options = new DoAssessmentOptions("separate_pages");

let assessment = p.DoStructureAssessment(structures_data,
                                        assessment_types,
                                        options);
Parameters:
Name Type Attributes Default Description
structures_data Array.<DoStructureAssessmentStructureData> Array of DoStructureAssessmentStructureData instances
assessment_types Array.<string> Array of assessment types, e.g. AssessmentType.DOOR_INTRUSION
options DoAssessmentOptions <optional>
null Options
Returns:
Type
DoAssessmentResults

GetCurveColourByIndex(index) → {number}

Description:
  • Returns a colour to use for a curve by index
Source:
Parameters:
Name Type Description
index number
Returns:
Type
number

GetDatumsByAssessment(assessment) → (nullable) {AssessmentDatums}

Description:
  • Returns the datums for the given assessment
Source:
Overrides:
Example
let assessment_datums = p.GetDatumsByAssessment(AssessmentType.NECK_EXTENSION);
for (let datum of assessment_datums.datums)
{
    datum.Plot();
}
Parameters:
Name Type Description
assessment string Assessment type, e.g. AssessmentType.NECK_AXIAL
Returns:
Type
AssessmentDatums

GetReporterVariableValues(filename) → (nullable) {Array.<ReporterVariable>}

Description:
  • Reads the variables file written by REPORTER and returns an array of objects containing the values of the variables. Returns null on error.
Source:
Parameters:
Name Type Description
filename string Variables file to read
Returns:
Type
Array.<ReporterVariable>

GetViscousCriterionConstants() → (nullable) {ViscousCriterionConstants}

Description:
  • Returns the Viscous Criterion Constants
Source:
Overrides:
Returns:
Type
ViscousCriterionConstants

HICWindow(occupant) → {number}

Description:
  • Returns the HIC window (in seconds) for the protocol and the given occupant
Source:
Overrides:
Example
// Get the HIC window to use for Protocol p and occupant o
let hic_window = p.HICWindow(o);
Parameters:
Name Type Description
occupant WorkflowOccupant Workflow occupant
Returns:
Type
number

OccupantAssessmentTypes(occupant, body_part_type) → {Array.<string>}

Description:
  • Returns the assessment types we support for the protocol and the given occupant and body part type
Source:
Overrides:
Example
let assessment_types = p.OccupantAssessmentTypes(o, OccupantBodyPart.NECK);
Parameters:
Name Type Description
occupant WorkflowOccupant Occupant
body_part_type string Occupant body part type
Returns:
Type
Array.<string>

ReadAbdomenCompression(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen compression from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadAbdomenForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadAbdomenViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads abdomen viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadAcetabularForce(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads acetabular force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadAllIntrusion(model, structure, unit_system, structure_index) → (nullable) {ReadStructureOutput}

Description:
  • Reads all intrusions (vertical, lateral and fore/aft) from the given structure
Source:
Parameters:
Name Type Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
Returns:
Type
ReadStructureOutput

ReadChestAcceleration(model, occupant, unit_system, occupant_index, optionsopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest acceleration from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
options object <optional>
Options
Returns:
Type
ReadAssessmentOutput

ReadChestCompression(model, occupant, unit_system, occupant_index, sideopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest compression from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string <optional>
"Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadChestCompressionRate(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest compression rate from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadChestViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads chest viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadFemurAxial(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur axial force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurCompressionExceedence(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur compression exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurCompressionVsImpulse(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur compression vs impulse from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFemurForce(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads femur resultant force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadFootAcceleration(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads foot acceleration from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadForeAftIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads fore/aft intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

ReadHeadAcceleration(model, occupant, unit_system, occupant_index, optionsopt) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads head accelerations from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Example
let curve = p.ReadHeadAcceleration(model, occupant, unit_system);
Parameters:
Name Type Attributes Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
options object <optional>
Options
Returns:
Type
ReadAssessmentOutput

ReadIliumForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads ilium force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadKneeDisplacement(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads knee displacement from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadLateralIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads lateral intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

ReadLumbarAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar axial force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadLumbarShear(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar shear force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadLumbarTorsion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads lumbar torsion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckBending(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck bending from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckCompressionExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck compression force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerExtension(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower extension moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckLowerFlexion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck lower flexion moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckNIJ(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads Neck Injury Criteria (NIJ) from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckShear(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck shear forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckShearExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck shear force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckTensionExceedence(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck tension force exceedence from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperAxial(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper axial forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperExtension(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper extension moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadNeckUpperFlexion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads neck upper flexion moment from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadPelvisForce(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads pelvis force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderDeflection(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder deflection from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderDeflectionRate(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder deflection rate from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderLateralForces(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder lateral forces from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadShoulderViscousCriterion(model, occupant, unit_system, occupant_index) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads shoulder viscous criterion from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
Returns:
Type
ReadAssessmentOutput

ReadTibiaCompression(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads tibia compression force from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadTibiaIndex(model, occupant, unit_system, occupant_index, side) → (nullable) {ReadAssessmentOutput}

Description:
  • Reads tibia index from the given occupant processing them according to the procedures set out in the occupant manual, e.g. filtering the raw measurements
Source:
Parameters:
Name Type Description
model Model Model to read data from
occupant WorkflowOccupant WorkflowOccupant to read data from
unit_system number Unit system
occupant_index number Index of the curve style to use
side string "Left" or "Right" side
Returns:
Type
ReadAssessmentOutput

ReadVerticalIntrusion(model, structure, unit_system, structure_index, structure_nameopt) → (nullable) {ReadStructureOutput}

Description:
  • Reads vertical intrusion from the given structure
Source:
Parameters:
Name Type Attributes Default Description
model Model Model to read data from
structure Structure Structure to read data from
unit_system number Unit system
structure_index number Index of the curve style to use
structure_name string <optional>
null Alternative structure name to use in graph title - required for assessment types that plot results from multiple structures on one graph, e.g. pedals
Returns:
Type
ReadStructureOutput

RunBPillarReporterTemplate(model_id, b_pillar, unit_system, template_file, log_file) → {boolean}

Description:
  • Runs the Reporter template to generate an image for the B-Pillar assessment using the coordinates written out to files by D3PLOT. Returns true if the template ran successfully, false otherwise.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
template_file string Template file to run
log_file string Log file to write to
Returns:
Type
boolean

SetBPillarShiftDeform(model_id, b_pillar)

Description:
  • Set the shift deform nodes for the B-Pillar structure.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment

SetCutSectionByMethod(model_id, cut_section_method, thickness, cut_section_node_1, cut_section_node_2, cut_section_node_3) → {boolean}

Source:
Parameters:
Name Type Description
model_id number Model to set cut section on
cut_section_method string Cut section method ("Three Nodes", "Constant X", "Constant Y", "Constant Z")
thickness number Cut section thickness
cut_section_node_1 number Node ID of first node
cut_section_node_2 number Node ID of second node
cut_section_node_3 number Node ID of first node
Returns:
Type
boolean

SetupHeadExcursionDisplay(vehicle_model_id, zone_model_id, peak_state)

Description:
  • Sets up the display for the head excursion assessment
Source:
Parameters:
Name Type Description
vehicle_model_id number Vehicle model ID
zone_model_id number Zone model ID
peak_state number Peak state

StructureAssessmentTypes(structure) → {Array.<string>}

Description:
  • Returns the assessment types we support for the protocol and the given structure
Source:
Overrides:
Example
let assessment_types = p.StructureAssessmentTypes(s);
Parameters:
Name Type Description
structure Structure Structure
Returns:
Type
Array.<string>

toString() → {string}

Description:
  • String representation
Source:
Overrides:
Returns:
Type
string

UniqueOccupantAssessmentTypes(occupants, body_part_types) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given occupants and body parts
Source:
Parameters:
Name Type Description
occupants Array.<WorkflowOccupant> WorkflowOccupant instances
body_part_types Array.<string> Body part types
Returns:
Type
Array.<string>

UniqueStructureAssessmentTypes(structures) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given structures
Source:
Parameters:
Name Type Description
structures Array.<Structure> Structure instances
Returns:
Type
Array.<string>

UniqueStructureAssessmentTypes(structures) → {Array.<string>}

Description:
  • Returns a list of the assessment types for the given structures
Source:
Parameters:
Name Type Description
structures Array.<Structure> Structure instances
Returns:
Type
Array.<string>

WriteBPillarCutSectionCoordinates(model_id, b_pillar, unit_system, first_state_coords_filename, last_state_coords_filename) → {boolean}

Description:
  • Writes the cut section coordinates to two files; one at the first state, one at the last state. The files are written to the same directory as the B-Pillar template.
Source:
Parameters:
Name Type Description
model_id number Model to do the assessment on
b_pillar BPillarStructure B-Pillar structure with data required for assessment
unit_system number Unit system
first_state_coords_filename string Filename to write first state coordinates to
last_state_coords_filename string Filename to write last state coordinates to
Returns:
Type
boolean