MorphPoint class

The MorphPoint class gives you access to morph points 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

MorphPoint properties

Name Type Description
exists (read only) logical true if point exists, false if referred to but not defined.
include integer The Include file number that the point is in.
label integer MorphPoint number.
model (read only) integer The Model number that the point is in.
x real X coordinate
y real Y coordinate
z real Z coordinate

Detailed Description

The MorphPoint class allows you to create, modify and manipulate morph points. See the documentation below for more details.

Constructor

new MorphPoint(Model[Model], label[integer], x[real], y[real], z[real])

Description

Create a new MorphPoint object.

Arguments

  • Model (Model)

    Model that morph point will be created in

  • label (integer)

    MorphPoint number

  • x (real)

    X coordinate

  • y (real)

    Y coordinate

  • z (real)

    Z coordinate

    Returns

    MorphPoint object

    Return type

    MorphPoint

    Example

    To create a new morph point in model m with label 100, at coordinates (20, 40, 10)

    var n = new MorphPoint(m, 100, 20, 40, 10);

    Details of functions

    AssociateComment(Comment[Comment])

    Description

    Associates a comment with a point.

    Arguments

  • Comment (Comment)

    Comment that will be attached to the point

    Returns

    No return value

    Example

    To associate comment c to the point p:

    p.AssociateComment(c);


    Blank()

    Description

    Blanks the point

    Arguments

    No arguments

    Returns

    No return value

    Example

    To blank point p:

    p.Blank();


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

    Description

    Blanks all of the points in the model.

    Arguments

  • Model (Model)

    Model that all points 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 points in model m:

    MorphPoint.BlankAll(m);


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

    Description

    Blanks all of the flagged points in the model.

    Arguments

  • Model (Model)

    Model that all the flagged points will be blanked in

  • flag (Flag)

    Flag set on the points 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 points in model m flagged with f:

    MorphPoint.BlankFlagged(m, f);


    Blanked()

    Description

    Checks if the point is blanked or not.

    Arguments

    No arguments

    Returns

    true if blanked, false if not.

    Return type

    Boolean

    Example

    To check if point p is blanked:

    if (p.Blanked() ) do_something...


    ClearFlag(flag[Flag])

    Description

    Clears a flag on the point.

    Arguments

  • flag (Flag)

    Flag to clear on the point

    Returns

    No return value

    Example

    To clear flag f for point p:

    p.ClearFlag(f);


    Copy(range (optional)[boolean])

    Description

    Copies the point. The target include of the copied point 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

    MorphPoint object

    Return type

    MorphPoint

    Example

    To copy point p into point z:

    var z = p.Copy();


    DetachComment(Comment[Comment])

    Description

    Detaches a comment from a point.

    Arguments

  • Comment (Comment)

    Comment that will be detached from the point

    Returns

    No return value

    Example

    To detach comment c from the point p:

    p.DetachComment(c);


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

    Description

    Adds an error for point. 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 point p:

    p.Error("My custom error");


    First(Model[Model]) [static]

    Description

    Returns the first point in the model.

    Arguments

  • Model (Model)

    Model to get first point in

    Returns

    MorphPoint object (or null if there are no points in the model).

    Return type

    MorphPoint

    Example

    To get the first point in model m:

    var p = MorphPoint.First(m);


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

    Description

    Returns the first free point label in the model. Also see MorphPoint.LastFreeLabel(), MorphPoint.NextFreeLabel() and Model.FirstFreeItemLabel().

    Arguments

  • Model (Model)

    Model to get first free point 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

    MorphPoint label.

    Return type

    Number

    Example

    To get the first free point label in model m:

    var label = MorphPoint.FirstFreeLabel(m);


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

    Description

    Flags all of the points in the model with a defined flag.

    Arguments

  • Model (Model)

    Model that all points will be flagged in

  • flag (Flag)

    Flag to set on the points

    Returns

    No return value

    Example

    To flag all of the points with flag f in model m:

    MorphPoint.FlagAll(m, f);


    Flagged(flag[Flag])

    Description

    Checks if the point is flagged or not.

    Arguments

  • flag (Flag)

    Flag to test on the point

    Returns

    true if flagged, false if not.

    Return type

    Boolean

    Example

    To check if point p has flag f set on it:

    if (p.Flagged(f) ) do_something...


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

    Description

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

    Arguments

  • Model (Model)

    Model that all points are in

  • func (function)

    Function to call for each point

  • 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 points in model m:

    MorphPoint.ForEach(m, test);
    function test(p)
    {
    // p is MorphPoint object
    }

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

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


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

    Description

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

    Arguments

  • Model (Model)

    Model to get points from

  • property (optional) (string)

    Name for property to get for all points in the model

    Returns

    Array of MorphPoint objects or properties

    Return type

    Array

    Example

    To make an array of MorphPoint objects for all of the points in model m:

    var a = MorphPoint.GetAll(m);

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

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


    GetComments()

    Description

    Extracts the comments associated to a point.

    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 point p:

    var comm_array = p.GetComments();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get points from

  • flag (Flag)

    Flag set on the points that you want to retrieve

  • property (optional) (string)

    Name for property to get for all flagged points in the model

    Returns

    Array of MorphPoint objects or properties

    Return type

    Array

    Example

    To make an array of MorphPoint objects for all of the points in model m flagged with f:

    var p = MorphPoint.GetFlagged(m, f);

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

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


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

    Description

    Returns the MorphPoint object for a point ID.

    Arguments

  • Model (Model)

    Model to find the point in

  • number (integer)

    number of the point you want the MorphPoint object for

    Returns

    MorphPoint object (or null if point does not exist).

    Return type

    MorphPoint

    Example

    To get the MorphPoint object for point 100 in model m

    var p = MorphPoint.GetFromID(m, 100);


    GetParameter(prop[string])

    Description

    Checks if a MorphPoint 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 MorphPoint.ViewParameters() method and 'method chaining' (see the examples below).

    Arguments

  • prop (string)

    point property to get parameter for

    Returns

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

    Return type

    Parameter

    Example

    To check if MorphPoint property p.example is a parameter:

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

    To check if MorphPoint property p.example is a parameter by using the GetParameter method:

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


    Keyword()

    Description

    Returns the keyword for this morph point (*MORPH_POINT). Note that a carriage return is not added. See also MorphPoint.KeywordCards()

    Arguments

    No arguments

    Returns

    string containing the keyword.

    Return type

    String

    Example

    To get the keyword for morph point p:

    var key = p.Keyword();


    KeywordCards()

    Description

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

    Arguments

    No arguments

    Returns

    string containing the cards.

    Return type

    String

    Example

    To get the cards for morph point p:

    var cards = p.KeywordCards();


    Last(Model[Model]) [static]

    Description

    Returns the last point in the model.

    Arguments

  • Model (Model)

    Model to get last point in

    Returns

    MorphPoint object (or null if there are no points in the model).

    Return type

    MorphPoint

    Example

    To get the last point in model m:

    var p = MorphPoint.Last(m);


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

    Description

    Returns the last free point label in the model. Also see MorphPoint.FirstFreeLabel(), MorphPoint.NextFreeLabel() and see Model.LastFreeItemLabel()

    Arguments

  • Model (Model)

    Model to get last free point 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

    MorphPoint label.

    Return type

    Number

    Example

    To get the last free point label in model m:

    var label = MorphPoint.LastFreeLabel(m);


    MoveFlagged(Model[Model], flag[Flag], dx[real], dy[real], dz[real]) [static]

    Description

    This function moves a selection of flagged morph points by a given vector and interpolates the movement of other morph points in the same way as this happens on the interactive morph panel. Note that the interpolation depends on the settings which can be switched on the interactive morph panel or by preferences. To apply the movement to the nodes in the box(es), you will need to call MorphBox.ApplyMorphing() at least for all relevant boxes or (if that is easier) for all morph boxes in the model.

    Arguments

  • Model (Model)

    Model that the flagged morph points are in

  • flag (Flag)

    Flag set on the morph points explicitly selected to move

  • dx (real)

    X component of vector to be moved along

  • dy (real)

    Y component of vector to be moved along

  • dz (real)

    Z component of vector to be moved along

    Returns

    No return value

    Example

    To move all morph points in model m flagged with flag by 10 units in global Y direction while interpolating the other morph points as given by button settings or preferences:

    MorphPoint.MoveFlagged(m, flag, 0.0, 10.0, 0.0);


    Next()

    Description

    Returns the next point in the model.

    Arguments

    No arguments

    Returns

    MorphPoint object (or null if there are no more points in the model).

    Return type

    MorphPoint

    Example

    To get the point in model m after point p:

    var p = p.Next();


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

    Description

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

    Arguments

  • Model (Model)

    Model to get next free point 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

    MorphPoint label.

    Return type

    Number

    Example

    To get the next free point label in model m:

    var label = MorphPoint.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 point.

    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 points from that model can be picked. If the argument is a Flag then only points that are flagged with limit can be selected. If omitted, or null, any points 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

    MorphPoint object (or null if not picked)

    Return type

    MorphPoint

    Example

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

    var p = MorphPoint.Pick('Pick point from screen', m);


    Previous()

    Description

    Returns the previous point in the model.

    Arguments

    No arguments

    Returns

    MorphPoint object (or null if there are no more points in the model).

    Return type

    MorphPoint

    Example

    To get the point in model m before point p:

    var p = p.Previous();


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

    Description

    Renumbers all of the points in the model.

    Arguments

  • Model (Model)

    Model that all points will be renumbered in

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    MorphPoint.RenumberAll(m, 1000000);


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

    Description

    Renumbers all of the flagged points in the model.

    Arguments

  • Model (Model)

    Model that all the flagged points will be renumbered in

  • flag (Flag)

    Flag set on the points that you want to renumber

  • start (integer)

    Start point for renumbering

    Returns

    No return value

    Example

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

    MorphPoint.RenumberFlagged(m, f, 1000000);


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

    Description

    Allows the user to select points using standard PRIMER object menus.

    Arguments

  • flag (Flag)

    Flag to use when selecting points

  • prompt (string)

    Text to display as a prompt to the user

  • limit (optional) (Model or Flag)

    If the argument is a Model then only points from that model can be selected. If the argument is a Flag then only points that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any points 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 points selected or null if menu cancelled

    Return type

    Number

    Example

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

    MorphPoint.Select(f, 'Select points', m);

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

    MorphPoint.Select(f, 'Select points', l);


    SetFlag(flag[Flag])

    Description

    Sets a flag on the point.

    Arguments

  • flag (Flag)

    Flag to set on the point

    Returns

    No return value

    Example

    To set flag f for point p:

    p.SetFlag(f);


    Sketch(redraw (optional)[boolean])

    Description

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

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To sketch point p:

    p.Sketch();


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

    Description

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

    Arguments

  • Model (Model)

    Model that all the flagged points will be sketched in

  • flag (Flag)

    Flag set on the points that you want to sketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the points are sketched. If omitted redraw is true. If you want to sketch flagged points 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 points flagged with flag in model m:

    MorphPoint.SketchFlagged(m, flag);


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

    Description

    Returns the total number of points in the model.

    Arguments

  • Model (Model)

    Model to get total for

  • exists (optional) (boolean)

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

    Returns

    number of points

    Return type

    Number

    Example

    To get the total number of points in model m:

    var total = MorphPoint.Total(m);


    Unblank()

    Description

    Unblanks the point

    Arguments

    No arguments

    Returns

    No return value

    Example

    To unblank point p:

    p.Unblank();


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

    Description

    Unblanks all of the points in the model.

    Arguments

  • Model (Model)

    Model that all points 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 points in model m:

    MorphPoint.UnblankAll(m);


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

    Description

    Unblanks all of the flagged points in the model.

    Arguments

  • Model (Model)

    Model that the flagged points will be unblanked in

  • flag (Flag)

    Flag set on the points 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 points in model m flagged with f:

    MorphPoint.UnblankFlagged(m, f);


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

    Description

    Unsets a defined flag on all of the points in the model.

    Arguments

  • Model (Model)

    Model that the defined flag for all points will be unset in

  • flag (Flag)

    Flag to unset on the points

    Returns

    No return value

    Example

    To unset the flag f on all the points in model m:

    MorphPoint.UnflagAll(m, f);


    Unsketch(redraw (optional)[boolean])

    Description

    Unsketches the point.

    Arguments

  • redraw (optional) (boolean)

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

    Returns

    No return value

    Example

    To unsketch point p:

    p.Unsketch();


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

    Description

    Unsketches all points.

    Arguments

  • Model (Model)

    Model that all points will be unblanked in

  • redraw (optional) (boolean)

    If model should be redrawn or not after the points 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 points in model m:

    MorphPoint.UnsketchAll(m);


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

    Description

    Unsketches all flagged points in the model.

    Arguments

  • Model (Model)

    Model that all points will be unsketched in

  • flag (Flag)

    Flag set on the points that you want to unsketch

  • redraw (optional) (boolean)

    If model should be redrawn or not after the points 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 points flagged with flag in model m:

    MorphPoint.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

    MorphPoint object.

    Return type

    MorphPoint

    Example

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

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


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

    Description

    Adds a warning for point. 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 point p:

    p.Warning("My custom warning");


    Xrefs()

    Description

    Returns the cross references for this point.

    Arguments

    No arguments

    Returns

    Xrefs object.

    Return type

    Xrefs

    Example

    To get the cross references for point p:

    var xrefs = p.Xrefs();


    toString()

    Description

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

    Arguments

    No arguments

    Returns

    string

    Return type

    String

    Example

    To get data for morph point p in keyword format

    var s = p.toString();