LoadShell class

The LoadShell class gives you access to define *LOAD_SHELL cards in PRIMER. More...

The PRIMER JavaScript API provides many class constants, properties and methods. For Arup to be able to extend and enhance the API in the future any constant, property or method names beginning with a lowercase or uppercase letter are reserved.
If you need to add your own properties or methods to one of the existing classes then to avoid any potential future conflict you should ensure that the name begins with either an underscore (_) or a dollar sign ($) or the name is prefixed with your own unique identifier.
For example if company 'ABC' need to add a property called 'example' then to avoid any potential future conflict use one of:

Class functions

Member functions

LoadShell constants

Name Description
LoadShell.ELEMENT Load is *LOAD_SHELL_ELEMENT.
LoadShell.SET LOAD is *LOAD_SHELL_SET.

LoadShell properties

Name Type Description
at real Arrival time for pressure
eid integer Shell ID or shell set ID
exists (read only) logical true if load shell exists, false if referred to but not defined.
heading string LoadShell heading
id logical true if _ID option is set, false if not
include integer The Include file number that the load shell is in.
label integer LoadShell number.
lcid integer Curve ID
lsid integer LoadShell number (identical to label).
model (read only) integer The Model number that the load shell is in.
sf real Curve scale factor
type constant The Load Node type. Can be LoadShell.ELEMENT or LoadShell.SET.

Detailed Description

The LoadShell class allows you to create, modify, edit and manipulate *LOAD_SHELL cards. See the documentation below for more details.

Constructor

new LoadShell(Model[Model], type[constant], eid[integer], lcid[integer], sf (optional)[real], at (optional)[real], lsid (optional)[integer], heading (optional)[string])

Description

Create a new LoadShell object.

Arguments

  • Model (Model)

    Model that LoadShell will be created in

  • type (constant)

    Specify the type of LoadShell (Can be LoadShell.ELEMENT or LoadShell.SET)

  • eid (integer)

    Shell ID or shell set ID

  • lcid (integer)

    Curve ID

  • sf (optional) (real)

    Curve scale factor

  • at (optional) (real)

    Arrival time for pressure

  • lsid (optional) (integer)

    LoadShell number

  • heading (optional) (string)

    Title for the LoadShell

    Returns

    LoadShell object

    Return type

    LoadShell

    Example

    To create a new load shell in model m, of type SET, with loadcurve 9 and a scale factor of 0.5

    var b = new LoadShell(m, LoadShell.SET, 100, 2, 9, 0.5);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a load shell.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the load shell

    Returns

    No return value

    Example

    To associate comment c to the load shell ls:

    ls.AssociateComment(c);


    Blank()

    Description

    Blanks the load shell

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank load shell ls:

    ls.Blank();


    BlankAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Blanks all of the load shells in the model.

    Arguments

  • Model (Model)

    Model that all load shells will be blanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To blank all of the load shells in model m:

    LoadShell.BlankAll(m);


    BlankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Blanks all of the flagged load shells in the model.

    Arguments

  • Model (Model)

    Model that all the flagged load shells will be blanked in

  • flag (Flag)

    Flag set on the load shells that you want to blank

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To blank all of the load shells in model m flagged with f:

    LoadShell.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the load shell is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if load shell ls is blanked:

    if (ls.Blanked() ) do_something...


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the load shell.

    Arguments

  • flag (Flag)

    Flag to clear on the load shell

    Returns

    No return value

    Example

    To clear flag f for load shell ls:

    ls.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the load shell. The target include of the copied load shell can be set using Options.copy_target_include.

    Arguments

  • range (optional) (boolean)

    If you want to keep the copied item in the range specified for the current include. Default value is false. To set current include, use Include.MakeCurrentLayer().

    Returns

    LoadShell object

    Return type

    LoadShell

    Example

    To copy load shell ls into load shell z:

    var z = ls.Copy();


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a load shell.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the load shell

    Returns

    No return value

    Example

    To detach comment c from the load shell ls:

    ls.DetachComment(c);


    Error(message[string], details (optional)[string])

    Description

    Adds an error for load shell. For more details on checking see the Check class.

    Arguments

  • message (string)

    The error message to give

  • details (optional) (string)

    An optional detailed error message

    Returns

    No return value

    Example

    To add an error message "My custom error" for load shell ls:

    ls.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first load shell in the model.

    Arguments

  • Model (Model)

    Model to get first load shell in

    Returns

    LoadShell object (or null if there are no load shells in the model).

    Return type

    LoadShell

    Example

    To get the first load shell in model m:

    var ls = LoadShell.First(m);


    FirstFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the first free load shell label in the model. Also see LoadShell.LastFreeLabel(), LoadShell.NextFreeLabel() and Model.FirstFreeItemLabel().

    Arguments

  • Model (Model)

    Model to get first free load shell label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to First free in layer in editing panels). If omitted the whole model will be used (Equivalent to First free in editing panels).

    Returns

    LoadShell label.

    Return type

    Number

    Example

    To get the first free load shell label in model m:

    var label = LoadShell.FirstFreeLabel(m);


    FlagAll(Model[Model], flag[Flag]) [static]

    Description

    Flags all of the load shells in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all load shells will be flagged in

  • flag (Flag)

    Flag to set on the load shells

    Returns

    No return value

    Example

    To flag all of the load shells with flag f in model m:

    LoadShell.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the load shell is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the load shell

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if load shell ls has flag f set on it:

    if (ls.Flagged(f) ) do_something...


    ForEach(Model[Model], func[function], extra (optional)[any]) [static]

    Description

    Calls a function for each load shell in the model.
    Note that ForEach has been designed to make looping over load shells as fast as possible and so has some limitations.
    Firstly, a single temporary LoadShell object is created and on each function call it is updated with the current load shell data. This means that you should not try to store the LoadShell object for later use (e.g. in an array) as it is temporary.
    Secondly, you cannot create new load shells inside a ForEach loop.

    Arguments

  • Model (Model)

    Model that all load shells are in

  • func (function)

    Function to call for each load shell

  • extra (optional) (any)

    An optional extra object/array/string etc that will appended to arguments when calling the function

    Returns

    No return value

    Example

    To call function test for all of the load shells in model m:

    LoadShell.ForEach(m, test);
    function test(ls)
    {
    // ls is LoadShell object
    }

    To call function test for all of the load shells in model m with optional object:

    var data = { x:0, y:0 };
    LoadShell.ForEach(m, test, data);
    function test(ls, extra)
    {
    // ls is LoadShell object
    // extra is data
    }


    GetAll(Model[Model], property (optional)[string]) [static]

    Description

    Returns an array of LoadShell objects or properties for all of the load shells in a model in PRIMER. If the optional property argument is not given then an array of LoadShell objects is returned. If the property argument is given, that property value for each load shell is returned in the array instead of a LoadShell object

    Arguments

  • Model (Model)

    Model to get load shells from

  • property (optional) (string)

    Name for property to get for all load shells in the model

    Returns

    Array of LoadShell objects or properties

    Return type

    Array

    Example

    To make an array of LoadShell objects for all of the load shells in model m:

    var a = LoadShell.GetAll(m);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for each load shell in model m:

    var a = LoadShell.GetAll(m, 'foo');


    GetComments()

    Description

    Extracts the comments associated to a load shell.

    Arguments

    No arguments

    Returns

    Array of Comment objects (or null if there are no comments associated to the node).

    Return type

    Array

    Example

    To get the array of comments associated to the load shell ls:

    var comm_array = ls.GetComments();


    GetFlagged(Model[Model], flag[Flag], property (optional)[string]) [static]

    Description

    Returns an array of LoadShell objects for all of the flagged load shells in a model in PRIMER If the optional property argument is not given then an array of LoadShell objects is returned. If the property argument is given, then that property value for each load shell is returned in the array instead of a LoadShell object

    Arguments

  • Model (Model)

    Model to get load shells from

  • flag (Flag)

    Flag set on the load shells that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged load shells in the model

    Returns

    Array of LoadShell objects or properties

    Return type

    Array

    Example

    To make an array of LoadShell objects for all of the load shells in model m flagged with f:

    var ls = LoadShell.GetFlagged(m, f);

    To return an array containing the value of property 'foo' (for example 'x' for a node) for all of the load shells in model m flagged with f:

    var a = LoadShell.GetFlagged(m, f, 'foo');


    GetFromID(Model[Model], number[integer]) [static]

    Description

    Returns the LoadShell object for a load shell ID.

    Arguments

  • Model (Model)

    Model to find the load shell in

  • number (integer)

    number of the load shell you want the LoadShell object for

    Returns

    LoadShell object (or null if load shell does not exist).

    Return type

    LoadShell

    Example

    To get the LoadShell object for load shell 100 in model m

    var ls = LoadShell.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

    Checks if a LoadShell property is a parameter or not. Note that object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. For this function to work the JavaScript interpreter must use the parameter name instead of the value. This can be done by setting the Options.property_parameter_names option to true before calling the function and then resetting it to false afterwards.. This behaviour can also temporarily be switched by using the LoadShell.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    load shell property to get parameter for

    Returns

    Parameter object if property is a parameter, null if not.

    Return type

    Parameter

    Example

    To check if LoadShell property ls.example is a parameter:

    Options.property_parameter_names = true;
    if (ls.GetParameter(ls.example) ) do_something...
    Options.property_parameter_names = false;

    To check if LoadShell property ls.example is a parameter by using the GetParameter method:

    if (ls.ViewParameters().GetParameter(ls.example) ) do_something...


    Keyword()

    Description

    Returns the keyword for this LoadShell (*LOAD_SHELL_xxxx). Note that a carriage return is not added. See also LoadShell.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for LoadShell m:

    var key = m.Keyword();


    KeywordCards()

    Description

    Returns the keyword cards for the LoadShell. Note that a carriage return is not added. See also LoadShell.Keyword()

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for LoadShell l:

    var cards = l.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last load shell in the model.

    Arguments

  • Model (Model)

    Model to get last load shell in

    Returns

    LoadShell object (or null if there are no load shells in the model).

    Return type

    LoadShell

    Example

    To get the last load shell in model m:

    var ls = LoadShell.Last(m);


    LastFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the last free load shell label in the model. Also see LoadShell.FirstFreeLabel(), LoadShell.NextFreeLabel() and see Model.LastFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get last free load shell label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest free in layer in editing panels). If omitted the whole model will be used.

    Returns

    LoadShell label.

    Return type

    Number

    Example

    To get the last free load shell label in model m:

    var label = LoadShell.LastFreeLabel(m);


    Next()

    Description

    Returns the next load shell in the model.

    Arguments

    No arguments

    Returns

    LoadShell object (or null if there are no more load shells in the model).

    Return type

    LoadShell

    Example

    To get the load shell in model m after load shell ls:

    var ls = ls.Next();


    NextFreeLabel(Model[Model], layer (optional)[Include number]) [static]

    Description

    Returns the next free (highest+1) load shell label in the model. Also see LoadShell.FirstFreeLabel(), LoadShell.LastFreeLabel() and Model.NextFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get next free load shell label in

  • layer (optional) (Include number)

    Include file (0 for the main file) to search for labels in (Equivalent to Highest+1 in layer in editing panels). If omitted the whole model will be used (Equivalent to Highest+1 in editing panels).

    Returns

    LoadShell label.

    Return type

    Number

    Example

    To get the next free load shell label in model m:

    var label = LoadShell.NextFreeLabel(m);


    Pick(prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean], button text (optional)[string]) [static]

    Description

    Allows the user to pick a load shell.

    Arguments

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only load shells from that model can be picked. If the argument is a Flag then only load shells that are flagged with limit can be selected. If omitted, or null, any load shells from any model can be selected. from any model.

  • modal (optional) (boolean)

    If picking is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the pick will be modal.

  • button text (optional) (string)

    By default the window with the prompt will have a button labelled 'Cancel' which if pressed will cancel the pick and return null. If you want to change the text on the button use this argument. If omitted 'Cancel' will be used.

    Returns

    LoadShell object (or null if not picked)

    Return type

    LoadShell

    Example

    To pick a load shell from model m giving the prompt 'Pick load shell from screen':

    var ls = LoadShell.Pick('Pick load shell from screen', m);


    Previous()

    Description

    Returns the previous load shell in the model.

    Arguments

    No arguments

    Returns

    LoadShell object (or null if there are no more load shells in the model).

    Return type

    LoadShell

    Example

    To get the load shell in model m before load shell ls:

    var ls = ls.Previous();


    RenumberAll(Model[Model], start[integer]) [static]

    Description

    Renumbers all of the load shells in the model.

    Arguments

  • Model (Model)

    Model that all load shells will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the load shells in model m, from 1000000:

    LoadShell.RenumberAll(m, 1000000);


    RenumberFlagged(Model[Model], flag[Flag], start[integer]) [static]

    Description

    Renumbers all of the flagged load shells in the model.

    Arguments

  • Model (Model)

    Model that all the flagged load shells will be renumbered in

  • flag (Flag)

    Flag set on the load shells that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

    To renumber all of the load shells in model m flagged with f, from 1000000:

    LoadShell.RenumberFlagged(m, f, 1000000);


    Select(flag[Flag], prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean]) [static]

    Description

    Allows the user to select load shells using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting load shells

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only load shells from that model can be selected. If the argument is a Flag then only load shells that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any load shells can be selected. from any model.

  • modal (optional) (boolean)

    If selection is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the selection will be modal.

    Returns

    Number of load shells selected or null if menu cancelled

    Return type

    Number

    Example

    To select load shells from model m, flagging those selected with flag f, giving the prompt 'Select load shells':

    LoadShell.Select(f, 'Select load shells', m);

    To select load shells, flagging those selected with flag f but limiting selection to load shells flagged with flag l, giving the prompt 'Select load shells':

    LoadShell.Select(f, 'Select load shells', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the load shell.

    Arguments

  • flag (Flag)

    Flag to set on the load shell

    Returns

    No return value

    Example

    To set flag f for load shell ls:

    ls.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

    Sketches the load shell. The load shell will be sketched until you either call LoadShell.Unsketch(), LoadShell.UnsketchAll(), Model.UnsketchAll(), or delete the model

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the load shell is sketched. If omitted redraw is true. If you want to sketch several load shells and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch load shell ls:

    ls.Sketch();


    SketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Sketches all of the flagged load shells in the model. The load shells will be sketched until you either call LoadShell.Unsketch(), LoadShell.UnsketchFlagged(), Model.UnsketchAll(), or delete the model

    Arguments

  • Model (Model)

    Model that all the flagged load shells will be sketched in

  • flag (Flag)

    Flag set on the load shells that you want to sketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the load shells are sketched. If omitted redraw is true. If you want to sketch flagged load shells several times and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To sketch all load shells flagged with flag in model m:

    LoadShell.SketchFlagged(m, flag);


    Total(Model[Model], exists (optional)[boolean]) [static]

    Description

    Returns the total number of load shells in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

    true if only existing load shells should be counted. If false or omitted referenced but undefined load shells will also be included in the total.

    Returns

    number of load shells

    Return type

    Number

    Example

    To get the total number of load shells in model m:

    var total = LoadShell.Total(m);


    Unblank()

    Description

    Unblanks the load shell

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank load shell ls:

    ls.Unblank();


    UnblankAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Unblanks all of the load shells in the model.

    Arguments

  • Model (Model)

    Model that all load shells will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To unblank all of the load shells in model m:

    LoadShell.UnblankAll(m);


    UnblankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Unblanks all of the flagged load shells in the model.

    Arguments

  • Model (Model)

    Model that the flagged load shells will be unblanked in

  • flag (Flag)

    Flag set on the load shells that you want to unblank

  • redraw (optional) (boolean)

    If model should be redrawn or not. If omitted redraw is false. If you want to do several (un)blanks and only redraw after the last one then use false for all redraws apart from the last one. Alternatively you can redraw using View.Redraw().

    Returns

    No return value

    Example

    To unblank all of the load shells in model m flagged with f:

    LoadShell.UnblankFlagged(m, f);


    UnflagAll(Model[Model], flag[Flag]) [static]

    Description

    Unsets a defined flag on all of the load shells in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all load shells will be unset in

  • flag (Flag)

    Flag to unset on the load shells

    Returns

    No return value

    Example

    To unset the flag f on all the load shells in model m:

    LoadShell.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the load shell.

    Arguments

  • redraw (optional) (boolean)

    If model should be redrawn or not after the load shell is unsketched. If omitted redraw is true. If you want to unsketch several load shells and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch load shell ls:

    ls.Unsketch();


    UnsketchAll(Model[Model], redraw (optional)[boolean]) [static]

    Description

    Unsketches all load shells.

    Arguments

  • Model (Model)

    Model that all load shells will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the load shells are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all load shells in model m:

    LoadShell.UnsketchAll(m);


    UnsketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]

    Description

    Unsketches all flagged load shells in the model.

    Arguments

  • Model (Model)

    Model that all load shells will be unsketched in

  • flag (Flag)

    Flag set on the load shells that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the load shells are unsketched. If omitted redraw is true. If you want to unsketch several things and only redraw after the last one then use false for redraw and call View.Redraw().

    Returns

    No return value

    Example

    To unsketch all load shells flagged with flag in model m:

    LoadShell.UnsketchAll(m, flag);


    ViewParameters()

    Description

    Object properties that are parameters are normally returned as the integer or float parameter values as that is virtually always what the user would want. This function temporarily changes the behaviour so that if a property is a parameter the parameter name is returned instead. This can be used with 'method chaining' (see the example below) to make sure a property argument is correct.

    Arguments

    No arguments

    Returns

    LoadShell object.

    Return type

    LoadShell

    Example

    To check if LoadShell property ls.example is a parameter by using the LoadShell.GetParameter() method:

    if (ls.ViewParameters().GetParameter(ls.example) ) do_something...


    Warning(message[string], details (optional)[string])

    Description

    Adds a warning for load shell. For more details on checking see the Check class.

    Arguments

  • message (string)

    The warning message to give

  • details (optional) (string)

    An optional detailed warning message

    Returns

    No return value

    Example

    To add a warning message "My custom warning" for load shell ls:

    ls.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this load shell.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for load shell ls:

    var xrefs = ls.Xrefs();


    toString()

    Description

    Creates a string containing the LoadShell data in keyword format. Note that this contains the keyword header and the keyword cards. See also LoadShell.Keyword() and LoadShell.KeywordCards().

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for LoadShell l in keyword format

    var s = l.toString();