The Vector class gives you access to define vector 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:
| Name | Type | Description |
| cid | int | Coordinate system ID |
| exists (read only) | logical | true if vector exists, false if referred to but not defined. |
| heading | string | Vector heading |
| include | integer | The Include file number that the vector is in. |
| label | integer | Vector number. Also see the vid property which is an alternative name for this. |
| model (read only) | integer | The Model number that the vector is in. |
| nodeh | int | Node ID for head of vector (for _NODES option) |
| nodes | logical | _NODES option |
| nodet | int | Node ID for tail of vector (for _NODES option) |
| vid | integer | Vector number. Also see the label property which is an alternative name for this. |
| xh | real | X coordinate of head of vector |
| xt | real | X coordinate of tail of vector |
| yh | real | Y coordinate of head of vector |
| yt | real | Y coordinate of tail of vector |
| zh | real | Z coordinate of head of vector |
| zt | real | Z coordinate of tail vector |
Detailed DescriptionThe Vector class allows you to create, modify, edit and manipulate vector cards. See the documentation below for more details. |
Constructornew Vector(Model[Model], options[object])DescriptionCreate a new Vector object. |
Model that vector will be created in
Options for creating the Vector
Object has the following properties:
| Name | Type | Description |
| ch (optional) | array | Array of coordinates of head of vector [xh, yh, zh] (for *DEFINE_VECTOR) |
| cid (optional) | int | Optional coordinate system ID (for *DEFINE_VECTOR) |
| ct (optional) | array | Array of coordinates of tail of vector [xt, yt, zt] (for *DEFINE_VECTOR) |
| heading (optional) | string | Optional title for the vector |
| nodeh (optional) | integer | Node ID for head of vector (for *DEFINE_VECTOR_NODES) |
| nodes | boolean | _NODES option (true for *DEFINE_VECTOR_NODES, false for *DEFINE_VECTOR) |
| nodet (optional) | integer | Node ID for tail of vector (for *DEFINE_VECTOR_NODES) |
| vid | integer | Vector ID. |
ReturnsVector object Return typeVector |
new Vector(Model[Model], vid[integer], xt[real], yt[real], zt[real], xh[real], yh[real], zh[real], cid (optional)[int], heading (optional)[string]) [deprecated]This function is deprecated in version 21.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions. DescriptionCreate a new Vector object. |
Model that vector will be created in
Vector number
X coordinate of tail of vector
Y coordinate of tail of vector
Z coordinate of tail vector
X coordinate of head of vector
Y coordinate of head of vector
Z coordinate of head of vector
Coordinate system ID
Title for the vector
ReturnsVector object Return typeVector |
ExampleTo create a new vector in model m with label 200 var v = new Vector(m, 200, 1.5, 2.5, 1.0, 4.5, 4.0, 3.0);
|
new Vector(Model[Model], vid[integer], nodet[integer], nodeh[integer], heading (optional)[string]) [deprecated]This function is deprecated in version 21.0. It is only provided to keep old scripts working. We strongly advise against using it in new scripts. Support may be removed in future versions. DescriptionCreate a new Vector object with _NODES option. |
Model that vector will be created in
Vector number
Node ID for tail of vector
Node ID for head of vector
Title for the vector
ReturnsVector object Return typeVector |
ExampleTo create a new vector in model m with label 200 using nodes 10 for the tail and 20 for the head var v = new Vector(m, 200, 20, 30);
|
Details of functionsAssociateComment(Comment[Comment])DescriptionAssociates a comment with a vector. |
Comment that will be attached to the vector
ReturnsNo return value |
ExampleTo associate comment c to the vector v: v.AssociateComment(c);
|
Blank()DescriptionBlanks the vector |
No arguments
ReturnsNo return value |
ExampleTo blank vector v: v.Blank();
|
BlankAll(Model[Model], redraw (optional)[boolean]) [static]DescriptionBlanks all of the vectors in the model. |
Model that all vectors will be blanked in
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().
ReturnsNo return value |
ExampleTo blank all of the vectors in model m: Vector.BlankAll(m);
|
BlankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]DescriptionBlanks all of the flagged vectors in the model. |
Model that all the flagged vectors will be blanked in
Flag set on the vectors that you want to blank
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().
ReturnsNo return value |
ExampleTo blank all of the vectors in model m flagged with f: Vector.BlankFlagged(m, f);
|
Blanked()DescriptionChecks if the vector is blanked or not. |
No arguments
Returnstrue if blanked, false if not. Return typeBoolean |
ExampleTo check if vector v is blanked: if (v.Blanked() ) do_something...
|
Browse(modal (optional)[boolean])DescriptionStarts an edit panel in Browse mode. |
If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.
Returnsno return value |
ExampleTo Browse vector v: v.Browse();
|
ClearFlag(flag[Flag])DescriptionClears a flag on the vector. |
Flag to clear on the vector
ReturnsNo return value |
ExampleTo clear flag f for vector v: v.ClearFlag(f);
|
Copy(range (optional)[boolean])DescriptionCopies the vector. The target include of the copied vector can be set using Options.copy_target_include. |
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().
ReturnsVector object Return typeVector |
ExampleTo copy vector v into vector z: var z = v.Copy();
|
Create(Model[Model], modal (optional)[boolean]) [static]DescriptionStarts an interactive editing panel to create a vector |
Model that the vector will be created in.
If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.
ReturnsVector object (or null if not made). Return typeVector |
ExampleTo start creating a vector in model m: var v = Vector.Create(m);
|
DetachComment(Comment[Comment])DescriptionDetaches a comment from a vector. |
Comment that will be detached from the vector
ReturnsNo return value |
ExampleTo detach comment c from the vector v: v.DetachComment(c);
|
Edit(modal (optional)[boolean])DescriptionStarts an interactive editing panel. |
If this window is modal (blocks the user from doing anything else in PRIMER until this window is dismissed). If omitted the window will be modal.
Returnsno return value |
ExampleTo Edit vector v: v.Edit();
|
Error(message[string], details (optional)[string])DescriptionAdds an error for vector. For more details on checking see the Check class. |
The error message to give
An optional detailed error message
ReturnsNo return value |
ExampleTo add an error message "My custom error" for vector v: v.Error("My custom error");
|
First(Model[Model]) [static]DescriptionReturns the first vector in the model. |
Model to get first vector in
ReturnsVector object (or null if there are no vectors in the model). Return typeVector |
ExampleTo get the first vector in model m: var v = Vector.First(m);
|
FirstFreeLabel(Model[Model], layer (optional)[Include number]) [static]DescriptionReturns the first free vector label in the model. Also see Vector.LastFreeLabel(), Vector.NextFreeLabel() and Model.FirstFreeItemLabel(). |
Model to get first free vector label in
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).
ReturnsVector label. Return typeNumber |
ExampleTo get the first free vector label in model m: var label = Vector.FirstFreeLabel(m);
|
FlagAll(Model[Model], flag[Flag]) [static]DescriptionFlags all of the vectors in the model with a defined flag. |
Model that all vectors will be flagged in
Flag to set on the vectors
ReturnsNo return value |
ExampleTo flag all of the vectors with flag f in model m: Vector.FlagAll(m, f);
|
Flagged(flag[Flag])DescriptionChecks if the vector is flagged or not. |
Flag to test on the vector
Returnstrue if flagged, false if not. Return typeBoolean |
ExampleTo check if vector v has flag f set on it: if (v.Flagged(f) ) do_something...
|
ForEach(Model[Model], func[function], extra (optional)[any]) [static]DescriptionCalls a function for each vector in the model. |
Model that all vectors are in
Function to call for each vector
An optional extra object/array/string etc that will appended to arguments when calling the function
ReturnsNo return value |
GetAll(Model[Model], property (optional)[string]) [static]DescriptionReturns an array of Vector objects or properties for all of the vectors in a model in PRIMER. If the optional property argument is not given then an array of Vector objects is returned. If the property argument is given, that property value for each vector is returned in the array instead of a Vector object |
Model to get vectors from
Name for property to get for all vectors in the model
ReturnsArray of Vector objects or properties Return typeArray |
GetComments()DescriptionExtracts the comments associated to a vector. |
No arguments
ReturnsArray of Comment objects (or null if there are no comments associated to the node). Return typeArray |
ExampleTo get the array of comments associated to the vector v: var comm_array = v.GetComments();
|
GetFlagged(Model[Model], flag[Flag], property (optional)[string]) [static]DescriptionReturns an array of Vector objects for all of the flagged vectors in a model in PRIMER If the optional property argument is not given then an array of Vector objects is returned. If the property argument is given, then that property value for each vector is returned in the array instead of a Vector object |
Model to get vectors from
Flag set on the vectors that you want to retrieve
Name for property to get for all flagged vectors in the model
ReturnsArray of Vector objects or properties Return typeArray |
GetFromID(Model[Model], number[integer]) [static]DescriptionReturns the Vector object for a vector ID. |
Model to find the vector in
number of the vector you want the Vector object for
ReturnsVector object (or null if vector does not exist). Return typeVector |
ExampleTo get the Vector object for vector 100 in model m var v = Vector.GetFromID(m, 100);
|
GetParameter(prop[string])DescriptionChecks if a Vector 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 Vector.ViewParameters() method and 'method chaining' (see the examples below). |
vector property to get parameter for
ReturnsParameter object if property is a parameter, null if not. Return typeParameter |
Keyword()DescriptionReturns the keyword for this vector (*DEFINE_VECTOR). Note that a carriage return is not added. See also Vector.KeywordCards() |
No arguments
Returnsstring containing the keyword. Return typeString |
ExampleTo get the keyword for vector m: var key = m.Keyword();
|
KeywordCards()DescriptionReturns the keyword cards for the vector. Note that a carriage return is not added. See also Vector.Keyword() |
No arguments
Returnsstring containing the cards. Return typeString |
ExampleTo get the cards for vector v: var cards = v.KeywordCards();
|
Last(Model[Model]) [static]DescriptionReturns the last vector in the model. |
Model to get last vector in
ReturnsVector object (or null if there are no vectors in the model). Return typeVector |
ExampleTo get the last vector in model m: var v = Vector.Last(m);
|
LastFreeLabel(Model[Model], layer (optional)[Include number]) [static]DescriptionReturns the last free vector label in the model. Also see Vector.FirstFreeLabel(), Vector.NextFreeLabel() and see Model.LastFreeItemLabel() |
Model to get last free vector label in
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.
ReturnsVector label. Return typeNumber |
ExampleTo get the last free vector label in model m: var label = Vector.LastFreeLabel(m);
|
Next()DescriptionReturns the next vector in the model. |
No arguments
ReturnsVector object (or null if there are no more vectors in the model). Return typeVector |
ExampleTo get the vector in model m after vector v: var v = v.Next();
|
NextFreeLabel(Model[Model], layer (optional)[Include number]) [static]DescriptionReturns the next free (highest+1) vector label in the model. Also see Vector.FirstFreeLabel(), Vector.LastFreeLabel() and Model.NextFreeItemLabel() |
Model to get next free vector label in
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).
ReturnsVector label. Return typeNumber |
ExampleTo get the next free vector label in model m: var label = Vector.NextFreeLabel(m);
|
Pick(prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean], button text (optional)[string]) [static]DescriptionAllows the user to pick a vector. |
Text to display as a prompt to the user
If the argument is a Model then only vectors from that model can be picked. If the argument is a Flag then only vectors that are flagged with limit can be selected. If omitted, or null, any vectors from any model can be selected. from any model.
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.
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.
ReturnsVector object (or null if not picked) Return typeVector |
ExampleTo pick a vector from model m giving the prompt 'Pick vector from screen': var v = Vector.Pick('Pick vector from screen', m);
|
Previous()DescriptionReturns the previous vector in the model. |
No arguments
ReturnsVector object (or null if there are no more vectors in the model). Return typeVector |
ExampleTo get the vector in model m before vector v: var v = v.Previous();
|
RenumberAll(Model[Model], start[integer]) [static]DescriptionRenumbers all of the vectors in the model. |
Model that all vectors will be renumbered in
Start point for renumbering
ReturnsNo return value |
ExampleTo renumber all of the vectors in model m, from 1000000: Vector.RenumberAll(m, 1000000);
|
RenumberFlagged(Model[Model], flag[Flag], start[integer]) [static]DescriptionRenumbers all of the flagged vectors in the model. |
Model that all the flagged vectors will be renumbered in
Flag set on the vectors that you want to renumber
Start point for renumbering
ReturnsNo return value |
ExampleTo renumber all of the vectors in model m flagged with f, from 1000000: Vector.RenumberFlagged(m, f, 1000000);
|
Select(flag[Flag], prompt[string], limit (optional)[Model or Flag], modal (optional)[boolean]) [static]DescriptionAllows the user to select vectors using standard PRIMER object menus. |
Flag to use when selecting vectors
Text to display as a prompt to the user
If the argument is a Model then only vectors from that model can be selected. If the argument is a Flag then only vectors that are flagged with limit can be selected (limit should be different to flag). If omitted, or null, any vectors can be selected. from any model.
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.
ReturnsNumber of vectors selected or null if menu cancelled Return typeNumber |
SetFlag(flag[Flag])DescriptionSets a flag on the vector. |
Flag to set on the vector
ReturnsNo return value |
ExampleTo set flag f for vector v: v.SetFlag(f);
|
Sketch(redraw (optional)[boolean])DescriptionSketches the vector. The vector will be sketched until you either call Vector.Unsketch(), Vector.UnsketchAll(), Model.UnsketchAll(), or delete the model |
If model should be redrawn or not after the vector is sketched. If omitted redraw is true. If you want to sketch several vectors and only redraw after the last one then use false for redraw and call View.Redraw().
ReturnsNo return value |
ExampleTo sketch vector v: v.Sketch();
|
SketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]DescriptionSketches all of the flagged vectors in the model. The vectors will be sketched until you either call Vector.Unsketch(), Vector.UnsketchFlagged(), Model.UnsketchAll(), or delete the model |
Model that all the flagged vectors will be sketched in
Flag set on the vectors that you want to sketch
If model should be redrawn or not after the vectors are sketched. If omitted redraw is true. If you want to sketch flagged vectors several times and only redraw after the last one then use false for redraw and call View.Redraw().
ReturnsNo return value |
ExampleTo sketch all vectors flagged with flag in model m: Vector.SketchFlagged(m, flag);
|
Total(Model[Model], exists (optional)[boolean]) [static]DescriptionReturns the total number of vectors in the model. |
Model to get total for
true if only existing vectors should be counted. If false or omitted referenced but undefined vectors will also be included in the total.
Returnsnumber of vectors Return typeNumber |
ExampleTo get the total number of vectors in model m: var total = Vector.Total(m);
|
Unblank()DescriptionUnblanks the vector |
No arguments
ReturnsNo return value |
ExampleTo unblank vector v: v.Unblank();
|
UnblankAll(Model[Model], redraw (optional)[boolean]) [static]DescriptionUnblanks all of the vectors in the model. |
Model that all vectors will be unblanked in
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().
ReturnsNo return value |
ExampleTo unblank all of the vectors in model m: Vector.UnblankAll(m);
|
UnblankFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]DescriptionUnblanks all of the flagged vectors in the model. |
Model that the flagged vectors will be unblanked in
Flag set on the vectors that you want to unblank
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().
ReturnsNo return value |
ExampleTo unblank all of the vectors in model m flagged with f: Vector.UnblankFlagged(m, f);
|
UnflagAll(Model[Model], flag[Flag]) [static]DescriptionUnsets a defined flag on all of the vectors in the model. |
Model that the defined flag for all vectors will be unset in
Flag to unset on the vectors
ReturnsNo return value |
ExampleTo unset the flag f on all the vectors in model m: Vector.UnflagAll(m, f);
|
Unsketch(redraw (optional)[boolean])DescriptionUnsketches the vector. |
If model should be redrawn or not after the vector is unsketched. If omitted redraw is true. If you want to unsketch several vectors and only redraw after the last one then use false for redraw and call View.Redraw().
ReturnsNo return value |
ExampleTo unsketch vector v: v.Unsketch();
|
UnsketchAll(Model[Model], redraw (optional)[boolean]) [static]DescriptionUnsketches all vectors. |
Model that all vectors will be unblanked in
If model should be redrawn or not after the vectors 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().
ReturnsNo return value |
ExampleTo unsketch all vectors in model m: Vector.UnsketchAll(m);
|
UnsketchFlagged(Model[Model], flag[Flag], redraw (optional)[boolean]) [static]DescriptionUnsketches all flagged vectors in the model. |
Model that all vectors will be unsketched in
Flag set on the vectors that you want to unsketch
If model should be redrawn or not after the vectors 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().
ReturnsNo return value |
ExampleTo unsketch all vectors flagged with flag in model m: Vector.UnsketchAll(m, flag);
|
No arguments
ReturnsVector object. Return typeVector |
ExampleTo check if Vector property v.example is a parameter by using the Vector.GetParameter() method: if (v.ViewParameters().GetParameter(v.example) ) do_something...
|
Warning(message[string], details (optional)[string])DescriptionAdds a warning for vector. For more details on checking see the Check class. |
The warning message to give
An optional detailed warning message
ReturnsNo return value |
ExampleTo add a warning message "My custom warning" for vector v: v.Warning("My custom warning");
|
Xrefs()DescriptionReturns the cross references for this vector. |
No arguments
ReturnsXrefs object. Return typeXrefs |
ExampleTo get the cross references for vector v: var xrefs = v.Xrefs();
|
toString()DescriptionCreates a string containing the vector data in keyword format. Note that this contains the keyword header and the keyword cards. See also Vector.Keyword() and Vector.KeywordCards(). |
No arguments
Returnsstring Return typeString |
ExampleTo get data for vector v in keyword format var s = v.toString();
|