Routine Operations: Difference between revisions

From Planimate Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
Line 52: Line 52:
  $R = Result
  $R = Result
  $1 = Incr. by
  $1 = Incr. by
=== InterpolateValue ===
Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)
'''[[InterpolateValue|$R = InterpolateValue($1,$2,$3)]]'''
$R = Result
$1 = Value1
$2 = Value2
$3 = Ratio


=== Mul ( * ) ===
=== Mul ( * ) ===
Line 1,138: Line 1,149:
  $1 = Target Panel       
  $1 = Target Panel       
  $2 = Inherit From Panel
  $2 = Inherit From Panel
=== InterpolateColor ===
Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)
'''[[InterpolateColor|$R = InterpolateColor($1,$2,$3)]]'''
$R = Result
$1 = Color1
$2 = Color2
$3 = Ratio


=== SetNoteVisible ===
=== SetNoteVisible ===
Line 1,990: Line 2,012:
  $1 = Insert Pos.
  $1 = Insert Pos.
  $2 = Row Count
  $2 = Row Count
=== OutOfScopeWrite ===
Enable writing to item table reference $1 even if it is not in scope
'''[[OutOfScopeWrite|OutOfScopeWrite($1)]]'''
$1 = Item Table Ref


=== PasteFromClipboard ===
=== PasteFromClipboard ===
Line 2,137: Line 2,167:
  $2 = Second Col.
  $2 = Second Col.
  $3 = Third Col.
  $3 = Third Col.
=== TableReferenceSet ===
Returns non zero if the reference resolves to a table
'''[[TableReferenceSet|$R = TableReferenceSet($1)]]'''
$R = Result
$1 = Item Table Ref


=== TableSortDialog ===
=== TableSortDialog ===

Revision as of 22:34, 5 September 2008

This page lists all of the routine operations available in Planimate as of 5.09m. The operations all link to pages with their name but most of these pages will not exist. Where an operation warrents further discussion, these links can be followed and the pages created.

This page is automatically created. Please do not edit it.

Arithmetic

Add ( + )

Add two values/rows/columns/tables

$R = $1 + $2

$R = Result
$1 = Value 1
$2 = Value 2

Clear

Set the target value to its initialising value

$R = CLEAR

$R = Clear

Dec ( -= )

Decrement first value/row/column/table by second value

$R -= $1

$R = Result
$1 = Decr. by

Div ( / )

Divide values/rows/columns/tables

$R = $1 / $2

$R = Result
$1 = Value 1
$2 = Value 2

Inc ( += )

Increment first value/row/column/table by second value

$R += $1

$R = Result
$1 = Incr. by

InterpolateValue

Interpolates a value between value1 and value2 based on ratio (0.0 gives value1, 1.0 gives value2)

$R = InterpolateValue($1,$2,$3)

$R = Result
$1 = Value1
$2 = Value2
$3 = Ratio

Mul ( * )

Multiply values/rows/columns/tables

$R = $1 * $2

$R = Result
$1 = Value 1
$2 = Value 2

Scale ( *= )

Scale first value/row/column/table by second value

$R *= $1

$R = Result
$1 = Scale by

Set ( = )

Assign a value/row/column/table to another of the same type and size

$R = $1

$R = Result
$1 = Set To

Sub ( - )

Subtract two values/rows/columns/tables

$R = $1 - $2

$R = Result
$1 = Value 1
$2 = Value 2

Control

BREAKLOOP

Immediately exits an ITERATE loop

BREAKLOOP

CASE

Tests a condition and if true, executes the code following until another CASE or DEFAULT is reached

CASE ($F)

$F = CASE

DEFAULT

Marks code that should be executed if no CASES match in a SELECT block

DEFAULT

ELSE

Enables an alternate block of code to execute if an IF test fails to be true

ELSE

ENDIF

Marks the end of an IF block

ENDIF

ENDLOOP

Marks the end of an ITERATE block

ENDLOOP

ENDSELECT

Marks the end of a SELECT block

ENDSELECT

ENDWHILE

Marks the end of a WHILE block

ENDWHILE

IF

Executes lines following only if the condition is true

IF ($F)

$F = IF

ITERATE

Repeats a block of routine lines, incrementing an attribute over a range

ITERATE $R FROM $1 TO $2

$R = Index Using
$1 = First Value
$2 = Last Value

ITERATEROWS

Iterate Row Index over all the rows in the table

ITERATEROWS $R OVER $1

$R = Row Index 
$1 = Table     

REVERSEITERATE

Iterate the result attribute over the given range in descending order

REVERSEITERATE $R FROM $1 TO $2

$R = Index Using
$1 = First Value
$2 = Last Value

SELECT

Starts a block where CASEs can be used to execute different code for conditions tested

SELECT

WHILE

Repeats a block of lines until the condition is false; the condition is tested first

WHILE ($F)

$F = WHILE

Display

Animate

Animate a model object to a new screen position

Animate($1,$2,$3)

$1 = Object
$2 = X Pos 
$3 = Y Pos 

ChooseColor

Shows the color palette selector dialog

$R = ChooseColor($1)

$R = Result
$1 = Selection Color

ColorPaletteEntry

Returns the RGB color for a given color index in the Planimate color palette

$R = ColorPaletteEntry($1)

$R = Result       
$1 = Palette Index

FitPanelToArea

Fits the panel to the area of its contents with a margin

FitPanelToArea($1,$2)

$1 = Target Panel
$2 = Margin

ForceRepaint

Repaints all windows; use with care, it can cause slowdown

ForceRepaint

ForceRepaintPanel

Repaints the specified panel

ForceRepaintPanel($1)

$1 = Panel

GetSystemColorRGB

Returns the RGB color for a given color in the Windows system color palette

$R = GetSystemColorRGB($1)

$R = Result
$1 = Value

GraphXOffset

Read the offset of a graph view for a table on the given panel

$R = GraphXOffset($1,$2)

$R = Target
$1 = Table
$2 = Panel

GraphXWidth

Read the width of a graph view for a table on the given panel

$R = GraphXWidth($1,$2)

$R = Target
$1 = Table
$2 = Panel

HidePanel

Hides any popup for the given panel

HidePanel($1)

$1 = Target Panel

HideTableEditor

Close any open table editor for the given table

HideTableEditor($1)

$1 = Table

MakeVisible

Makes the specified panel the active panel on the main window

MakeVisible($1)

$1 = Target Subsystem

PanelWindowLeft

Returns the left window co-ordinate of a popup panel

$R = PanelWindowLeft($1)

$R = Result
$1 = Panel 

PanelWindowTop

Returns the top window co-ordinate of a popup panel

$R = PanelWindowTop($1)

$R = Result
$1 = Panel 

PrintPanel

Queues the nominated panel for printing; additional panels can be printed by intercepting the _Panel Printed broadcast

PrintPanel($1)

$1 = Target Subsystem

RepaintObjects

Forces a repaint of dynamic objects only; faster than a full force repaint

RepaintObjects

SetActivityString

Sets text in the status bar activity area

SetActivityString($1)

$1 = Activity Text

SetColorPaletteEntry

Sets the RGB color for a given color in the Planimate color palette

SetColorPaletteEntry($1,$2)

$1 = Palette Index
$2 = RGB Value    

SetGraphXOffset

Set the offset of a graph view for a table on the given panel

SetGraphXOffset($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetGraphXWidth

Set the width of a graph view for a table on the given panel

SetGraphXWidth($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetPanelColor

Sets the background color of a panel

SetPanelColor($1,$2)

$1 = Panel 
$2 = Color

SetPanelTransparency

Enables the use of transparency for a panel, value 0..254 or 255 to disable transparency

SetPanelTransparency($1,$2)

$1 = Panel 
$2 = Transparency

SetStatusItemAreaString

Sets the text in the status bar area where item class names are displayed during editing

SetStatusItemAreaString($1)

$1 = Item Area Text

SetViewportScroll

Set the x and y scroll of a viewport on a given panel

SetViewportScroll($R,$1,$2,$3)

$R = Panel With Viewport  
$1 = Panel Inside Viewport
$2 = X Offset
$3 = Y Offset

SetViewportTarget

Set the target of a viewport. Current Panel identifies the viewport and can be zero of the containing panel only has 1 viewport. New Panel sets the new panel to display, 0 makes the viewport hidden in user mode.

SetViewportTarget($1,$2,$3)

$1 = Panel With Viewport  
$2 = Current Panel Inside Viewport
$3 = New Panel Inside Viewport

SetViewportZoom

Set the zoom factor of a viewport on a given panel

SetViewportZoom($R,$1,$2)

$R = Panel With Viewport  
$1 = Panel Inside Viewport
$2 = Zoom Value

ShowPopupPanel

Opens the given panel in a separate window at the specified window co-ordinates

ShowPopupPanel($1,$2,$3)

$1 = Target Panel
$2 = X Position
$3 = Y Position

ShowTableEditor

Open table editor for the given table

ShowTableEditor($1)

$1 = Table

SwapPopupPanel

Swaps which panels are visible in a popup panel without closing/reopening it

SwapPopupPanel($1,$2)

$1 = Target Panel 
$2 = Replace With 

Label

AddLabelDialog

Show a dialog so the user can add a label to the given label list

AddLabelDialog($R)

$R = Result

AddSubLabel

Makes the new sublabel for the parent label $1 (if it doesn't exist) and returns its index as a sublabel

AddSubLabel($R,$1)

$R = Result
$1 = Label

ClearLabelList

Removes all labels from a label list

ClearLabelList($1)

$1 = Clear Label List

CreateLabelList

Creates a label list with the given name and formats the result attribute to reference it

CreateLabelList($R,$1)

$R = Format Result
$1 = List Name

CreateLabelListFromCol

Uses the provided column to provide text for creating a new label list

CreateLabelListFromColumn($R,$1)

$R = Target List  
$1 = Source Column

CreatePanelPortalLabel

Creates a panel label for the subsystem of the given portal object label

$R = CreatePanelPortalLabel($1)

$R = New Panel Label    
$1 = Portal Object Label

CreateSubLabelList

Creates an empty sub label list of an existing label list and formats an attribute to reference it

CreateSubLabelList($R,$1,$2)

$R = Format Result
$1 = List Name
$2 = Parent List

CreateSubsystemObjectLabel

$R = CreateSubsystemObjectLabel()

$R = New Object Label

DeleteLabel

Deletes the given label from its labellist

DeleteLabel($1)

$1 = Label

LabelCount

Returns how many labels in the given label list

$R = LabelCount($1)

$R = Result
$1 = Label Count

MaxLabelIndex

Returns the highest allocated label index in the given label list

$R = MaxLabelIndex()

$R = Result

MinLabelIndex

Returns the lowest allocated label index in the given label list

$R = MinLabelIndex()

$R = Result

NextLabelIndex

The next allocated label index for the list or -1 if none

$R = NextLabelIndex($1)

$R = Result
$1 = Label Index

PrevLabelIndex

The previous allocated label index for the list or -1 if none

$R = PrevLabelIndex($1)

$R = Result
$1 = Label Index

ReIndexLabelList

Re-indexes all members in a label list so they have ascending and continuous index values

ReIndexLabelList($1)

$1 = Re-index Label List

ReIndexLabels

Remaps labels in the given list using 2 columns of matching from and to values

ReIndexLabels($1,$2,$3)

$1 = Re-index List    
$2 = From Values (Col)
$3 = To Values (Col)  

RemoveSubLabel

Removes the sublabel as a member of the sublabel list

RemoveSubLabel($1)

$1 = Label

TestLabelIndex

Tests whether an index has been used in a label list

$R = TestLabelIndex($1,$2)

$R = Result
$1 = Index Value
$2 = Label List

Label String

AppendToLabel

Append text to an existing label

AppendToLabel($R,$1)

$R = Result
$1 = Source

CreatePasswordHash

Uses the 3 text sources to create an unpredictable hash string

$R = CreatePasswordHash($1,$2,$3)

$R = Result
$1 = Text-1
$2 = Text-2
$3 = Text-3

CropToCharacters

Crop a label to a subset of its text

CropToCharacters($R,$1,$2)

$R = Result
$1 = From Char
$2 = To Char

ExtractFileExtention

Create a label in the target label list which is the file extention of the path/file text

ExtractFileExtention($R,$1)

$R = Result   
$1 = Path/File

ExtractFileName

Create a label in the target label list which is the file name from a full path/file text

ExtractFileName($R,$1)

$R = Result   
$1 = Path/File

ExtractIntoFormat

Extracts a substring from a formatted value/label and interprets it in the format of the target. If the target is a label list, it gets added as a label if its not already in that list.

$R = ExtractIntoFormat($1,$2,$3)

$R = Result
$1 = Label
$2 = From Char
$3 = To Char

ExtractPathName

Create a label in the target label list which is the file name from a full path/file text

ExtractPathName($R,$1)

$R = Result   
$1 = Path/File

FilesInFolder

Returns how many files matching a wildcard in the given folder

$R = FilesInFolder($1)

$R = Target List
$1 = Path/File  

FilesInHierarchy

Retrieve how many files in a file folder (including subfolders)

$R = FilesInHierarchy($1)

$R = Target List
$1 = Path/File  

FormatIntoLabel

Create a new label with the formatted text of the source

FormatIntoLabel($R,$1)

$R = Result
$1 = Source

FormatIntoLabelIndex

Creates a label from the text of source and using the provided index

$R = FormatIntoLabelIndex($1,$2)

$R = Result
$1 = Source
$2 = Index

FormatNameIntoLabel

Creates a label from the name of the given object

$R = FormatNameIntoLabel($1)

$R = Result
$1 = Source

FormattedLabelIndex

Determines if the source text is a label and returns its index if it is

$R = FormattedLabelIndex($1)

$R = Result
$1 = Source

FormattedWidth

Returns how many characters the referenced data has when it is formatted for display

$R = FormattedWidth($1)

$R = Target
$1 = Width Of

FormatTitleIntoLabel

Creates a label from the title text of the given object

$R = FormatTitleIntoLabel($1)

$R = Result
$1 = Source

GetAppDataName

Get a full documents and settings/Application Data path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.

$R = GetAppDataName($1,$2)

$R = Result
$1 = Folder
$2 = Filename

GetCharacter

Extracts a character from the formatted value provided and returns the ascii code

$R = GetCharacter($1,$2)

$R = Target   
$1 = String   
$2 = Character

GetMyDocumentsName

Get a full My Documents path/file including a subfolder and a filename. Sets s.LastAccessedDataFilePath and returns non zero if the folder was created/verified writeable.

$R = GetMyDocumentsName($1,$2)

$R = Result
$1 = Folder
$2 = Filename

GetProgramName

Get the folder containing the running Planimate EXE and append a filename. Sets s.LastAccessedDataFilePath.

GetProgramName($1)

$1 = Filename

RemoveFileExtention

Crop label to remove trailing dot and text

RemoveFileExtention($R)

$R = Result

RenameLabel

Change the text of a label

RenameLabel($R,$1)

$R = Result
$1 = Source

SetFreeTextTitle

Sets title of free text editor dialog

SetFreeTextTitle($1)

$1 = Title Text

Logical

BitAND

Treat values as integers and bitwise AND them (limited to 14 bits of precision)

$R = BitAND($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

BitOR

Treat values as integers and bitwise OR them (limited to 14 bits of precision)

$R = BitOR($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

BitXOR

Treat values as integers and bitwise XORs them (limited to 14 bits of precision)

$R = BitXOR($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

Condition

Evaluate a condition specified in a dialog

$R = Condition($F)

$R = Result
$F = Set using

EQ ( == )

Determines if 2 values are numerically close to each other

$R = $1 == $2

$R = Result
$1 = Value 1
$2 = Value 2

GE ( >= )

Determines if the first value is greater than or equal to the second

$R = $1 >= $2

$R = Result
$1 = Value 1
$2 = Value 2

GT ( > )

Determines if the first value is significantly greater than the second value

$R = $1 > $2

$R = Result
$1 = Value 1
$2 = Value 2

LE ( <= )

Determines if the first value is less than or equal to the second

$R = $1 <= $2

$R = Result
$1 = Value 1
$2 = Value 2

LT ( < )

Determines if the first value is significantly less than the second value

$R = $1 < $2

$R = Result
$1 = Value 1
$2 = Value 2

NEQ ( != )

Determines if 2 values are not numerically close to each otherclose to each other

$R = $1 != $2

$R = Result
$1 = Value 1
$2 = Value 2

Message

Broadcast

Sends a broadcast to the entire model, optionally including the item's attributes

Broadcast($1,$2)

$1 = Broadcast Index
$2 =  With Item Info

BroadcastScoped

Sends a broadcast to a specified dynamic panel and all under it, optionally including the item's attributes

BroadcastScoped($1,$2,$3)

$1 = Broadcast Index
$2 =  With Item Info
$3 = Send To Subsystem

BroadcastToPanel

Sends a broadcast to a specified dynamic panel, optionally including the item's attributes

BroadcastToPanel($1,$2,$3)

$1 = Broadcast Index
$2 =  With Item Info
$3 = Send To Subsystem

ImmediateMessage

Send a message whilst the item waits at the change object

ImmediateMessage($1)

$1 = Message Target 

ImmediateMessageNamed

Send a message to a specified portal with a specific name whilst the item waits at the change object

ImmediateMessageNamed($1,$2)

$1 = Message Target 
$2 = Message Name   

ReleaseWaitingItem

Used to signal a waiting dispatcher on the target panel that a given item should be released

$R = ReleaseWaitingItem($1,$2)

$R = Result
$1 = Item Index
$2 = Scope Panel

ReverseItemDirection

Searches spatial links for the item and if found, reverses the direction of the item

$R = ReverseItemDirection($1,$2)

$R = Result
$1 = Item Index
$2 = Scope Panel

Numeric

abs

Magnitude of a value, without the sign

$R = abs($1)

$R = Result
$1 = Value 1

max

Determines the greater of 2 values

$R = max($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

min

Determines the lesser of 2 values

$R = min($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

mod

Modulus of $1 over base $2

$R = mod($1,$2)

$R = Result
$1 = Value 1
$2 = Value 2

random

Random value between 0 and 1

$R = random($F)

$R = Result
$F = Set to

round

Integer closest to the value

$R = round($1)

$R = Result
$1 = Round Value

RoundToN

Round value to the specified number of digits of precision

$R = RoundToN($1,$2)

$R = Result
$1 = Round Value
$2 = Sig. Digits

trunc

Integer equal or lower than the value

$R = trunc($1)

$R = Result
$1 = Truncate

Paint

CopyPaintObject

Enables a paint object to be copied, optionally keeping it inherited from the given master

$R = CopyPaintObject($1,$2,$3)

$R = New Paint Label       
$1 = Original Paint Label
$2 = Destination Panel   
$3 = Inherit The Copy    

CopyPaintProperties

Copies the graphical properties between paint objects

CopyPaintProperties($1,$2)

$1 = Paint Object To Update
$2 = Original Paint Object 

DeleteAllPaintObjects

Delete all paint objects on the given panel

DeleteAllPaintObject($1)

$1 = Target Panel

DeleteInheritedPaintObjects

Removes all paint objects which inherit from a given panel

DeleteInheritedPaintObjects($1,$2)

$1 = Target Pane     
$2 = Un Inherit Panel

DeletePaintObject

Deletes a paint object

DeletePaintObject($1,$2)

$1 = Paint Label   
$2 = With Inherited

GetPaintProperty

Read a property of a paint object

$R = GetPaintProperty($1,$2)

$R = Result
$1 = Paint Object Label
$2 = Property Label    

InheritPaintObjects

Enables a panel to be populated with paint objects from another panel

InheritPaintObjects($1,$2)

$1 = Target Panel      
$2 = Inherit From Panel

InterpolateColor

Interpolates an RGB color between color1 and color2 based on ratio (0.0 gives color1, 1.0 gives color2)

$R = InterpolateColor($1,$2,$3)

$R = Result
$1 = Color1
$2 = Color2
$3 = Ratio

SetNoteVisible

Shows or hides an RTF note

SetNoteVisible($1,$2)

$1 = Paint Object Label
$2 = Visibility        

SetPaintImage

Sets the image of a paint object

SetPaintImage($1,$2)

$1 = Paint Object Label
$2 = Set Image To

SetPaintPosition

Moves a paint object to a new position

SetPaintPosition($1,$2,$3)

$1 = Paint Object Label
$2 = X Pos (lower left)
$3 = Y Pos (lower left)

SetPaintProperty

Set a property of a paint object directly

SetPaintProperty($1,$2,$3)

$1 = Paint Object Label
$2 = Property Label    
$3 = Property Value    

SetPaintText

Sets the text of a paint object

SetPaintText($1,$2,$3)

$1 = Paint Object Label
$2 = Set Text/File To  
$3 = For All States    

SetPaintTip

Sets the tool tip text of a paint object

SetPaintTip($1,$2,$3)

$1 = Paint Object Label
$2 = Set Tip To  
$3 = For All States    

Route

AddPrimaryBookings

Adds track network bookings from the table

AddPrimaryBookings($1,$2,$3)

$1 = Section
$2 = Road #
$3 = Source

AddSecondaryBookings

Adds track network secondary bookings from the table

AddSecondaryBookings($1,$2,$3)

$1 = Section
$2 = Road #
$3 = Source

AssignRoute

Sets an item's track route from a route table

AssignRoute($1)

$1 = Timetable Source

ClearPrimaryBookings

Clears track network primary bookings

ClearPrimaryBookings($1,$2)

$1 = Section
$2 = Road #

ClearRoute

Clear an item's routing database

ClearRoute()

ClearSecondaryBookings

Clears track network secondary bookings

ClearSecondaryBookings($1,$2)

$1 = Section
$2 = Road #

EnableTrackCheckNext

Used during lookahead, this enables a modeller to signal objects downstream of a lookahead that the current lookahead is for track capacity purposes and wont be taken immediately. It automatically resets when lookahead unwinds behind the routine.

EnableTrackCheckNext()

FillRouteSteps

Fills in all intermediate portals and loops in an item's track route

FillRouteSteps($1)

$1 = Include Loops (1=yes)

InsertRouteStep

Insert a track route step into an item's internal routing database

InsertRouteStep($1,$2)

$1 = Route Step
$2 = Route Location

ReadPrimaryBookings

Reads track network primary bookings into a table

ReadPrimaryBookings($R,$1,$2)

$R = Target
$1 = Section
$2 = Road #

ReadRoute

Reads an item's track route into a table

ReadRoute($R)

$R = Timetable Target

ReadSecondaryBookings

Reads track network secondary bookings into a table

ReadSecondaryBookings($R,$1,$2)

$R = Target
$1 = Section
$2 = Road #

RegisterBlockedTrain

Register the item (train) into the track blocked list

RegisterBlockedTrain()

RoadsInTrackSection

Returns how many roads a given track section has been configured for

$R = RoadsInTrackSection($1)

$R = Target
$1 = Section

SetActAsJunction

Enables the Act As Junction flag to be set or cleared for a given portal on a track network

SetActAsJunction($1,$2)

$1 = Portal On Track
$2 = Act As Junction

SetOncomingCheck

Enables the Oncoming Train Check flag to be set or cleared for a given portal on a track network

SetOncomingCheck($1,$2)

$1 = Portal On Track
$2 = Oncoming Check

TrackSectionType

Returns the type of a track section (_section_types label list)

$R = TrackSectionType($1)

$R = Target
$1 = Section

Row/Column

Average

Determines the average of values in a row or column

$R = Average($1,$2,$3)

$R = Result
$1 = Average of
$2 = From
$3 = To

MaxIndex

Determines the index of the highest value in a row or column

$R = MaxIndex($1,$2,$3)

$R = Result
$1 = Max of
$2 = From
$3 = To

MinIndex

Determines the index of the lowest value in a row or column

$R = MinIndex($1,$2,$3)

$R = Result
$1 = Min of
$2 = From
$3 = To

StdDev

Determines the Standard Deviation of values in a row or column

$R = StdDev($1,$2,$3)

$R = Result
$1 = StdDev of
$2 = From
$3 = To

Sum

Determines the sum of values in a row or column

$R = Sum($1,$2,$3)

$R = Result
$1 = Sum of
$2 = From
$3 = To

SumSquared

Determines the sum of squares of values in a row or column

$R = SumSquared($1,$2,$3)

$R = Result
$1 = Sum/Sqr of
$2 = From
$3 = To

Scientific

arccos

Inverse cosine function, returns radians

$R = arccos($1)

$R = Result
$1 = Value

arcsin

Inverse sine function, returns radians

$R = arcsin($1)

$R = Result
$1 = Value

arctan

Inverse tan function, returns radians

$R = arctan($1)

$R = Result
$1 = Value

atan2

Determines angle (in radians) given x and y displacement

$R = atan2($1,$2)

$R = Result
$1 = Numerator (Y)
$2 = Denominator (X)

cos

Cosine function, value in radians

$R = cos($1)

$R = Result
$1 = Value

DegToRad

Converts degrees to radians

$R = DegToRad($1)

$R = Result
$1 = Value

exp

Calculates $1 to the power of E

$R = exp($1)

$R = Result
$1 = Value

hypot

Hypotenuse of right angled triangle with given sides

$R = hypot($1,$2)

$R = Result
$1 = X Value
$2 = Y Value

log10

Calculates the decimal logarithm of the value

$R = log10($1)

$R = Result
$1 = Value

logN

Calculates the natural logarithm of the value

$R = logN($1)

$R = Result
$1 = Value

pow

Calculates $1 to the power of $2

$R = pow($1,$2)

$R = Result
$1 = Value
$2 = Power

RadToDeg

Converts radians to degrees

$R = RadToDeg($1)

$R = Result
$1 = Value

sin

Sine function, value in radians

$R = sin($1)

$R = Result
$1 = Value

sqr

Value multiplied by itself

$R = sqr($1)

$R = Result
$1 = Value

sqrt

Square root of value

$R = sqrt($1)

$R = Result
$1 = Value

tan

Tan function, value in radians

$R = tan($1)

$R = Result
$1 = Value

Spatial Link

AddBendPoint

Adds a bend point to a spatial link between the two objects specified

AddBendPoint($R,$1,$2,$3)

$R = From Object
$1 = To Object 
$2 = X Position
$3 = Y Position

AddDirectionalLink

Adds a spatial link between objects which can only be traversed in the forward direction

AddDirectionalLink($1,$2)

$1 = From Object
$2 = To Object 

AddSpatialLink

Add a spatial link between the two objects labels specified

AddSpatialLink($1,$2)

$1 = From Object
$2 = To Object 

ClearSpatialCache

Instructs Planimate to update spatial link information after links are created or objects are moved

ClearSpatialCache()

CopySpatialLink

Creates a spatial link between objects, copying an existing link's properties

CopySpatialLink($1,$2,$3)

$1 = From Object
$2 = To Object 
$3 = Copy Link 

DeletePanelSpatialLinks

Deletes all spatial links on a given panel

DeletePanelSpatialLinks($1)

$1 = Panel

RemoveSpatialLink

Removes any spatial links from and to the specified object labels (directional)

RemoveSpatialLink($1,$2)

$1 = From Object
$2 = To Object 

SetItemTransitTarget

Sets the destination an item will look for once it enters a spatial link

SetItemTransitTarget($1)

$1 = To Target

SetItemTransitTime

Sets the time an item will take to reach its destination once it enters a spatial link

SetItemTransitTime($1)

$1 = To Time

SetLinkColor

Sets the color of a spatial link between 2 given objects

SetLinkColor($1,$2,$3)

$1 = From Object
$2 = To Object 
$3 = Color     

SetLinkCost

Sets the link cost of a spatial link (normally computed from the link's distance)

SetLinkCost($1,$2,$3)

$1 = From Object
$2 = To Object 
$3 = Cost      

SetSpatialLinkWidth

Sets the width of a spatial link between two objects

SetSpatialLinkWidth($1,$2,$3)

$1 = From Object
$2 = To Object 
$3 = Width     

Special

---| Only During Move |---

Enables the modeller to specifically mark that the following routine lines do not execute during lookahead

 Only During Move |---||----- Following Only During Move -----|

BREAKPOINTIF

If the parameter is true, this interrupts the routine and displays a debugging dialog enabling inspection of the models state

BREAKPOINTIF ($1)

$1 = Enable Break 

CallDLL

Enables a Planimate compatible DLL to be called

$R = CallDLL($F)

$R = Result
$F = Set to

CallRoutine

Calls a subroutine

CallRoutine($F)

$F = Call

Comment (//)

A comment line

Comment

CopyFont

Copies the font properties between cells and columns

CopyFont($R,$1)

$R = Format Result
$1 = Format From

CopyFormat

Copies the format/unit type/label reference between cells, columns and attributes

CopyFormat($R,$1)

$R = Format Result
$1 = Format From

DescribeRoutineData

Describe the data accessed by a change object routine

DescribeRoutineData($1,$2,$3)

$1 = Routine Panel
$2 = Object Name
$3 = Output Filename

EncodeRGB

Encodes red, green and blue components (0..255) into a single value used to specify any color

$R = EncodeRGB($1,$2,$3)

$R = Result
$1 = Red Value
$2 = Green Value
$3 = Blue Value

FormatForList

Formats the result object to reference a label list with the given name

FormatForList($R,$1)

$R = Format Result
$1 = List Name

GetFormat

Returns the value format of the data

$R = GetFormat($1)

$R = Result
$1 = Data To Test

GetFormatListName

Creates a new label with the name of the label list the target is formatted to. If no list, no change to the target is made

GetFormatListName($R,$1)

$R = Result
$1 = Data To Test

ListRoutineCode

Write a change object routine code to a file

ListRoutineCode($1,$2,$3)

$1 = Routine Panel
$2 = Object Name
$3 = Output Filename

LoadDataSet

Initiates loading of a given data set from a file name specified by a label

LoadDataSet($1,$2)

$1 = Data Set #
$2 = File Name 

LoadDataSet2

Load a version 2 dataset

$R = LoadDataSet2($1,$2,$3)

$R = Result
$1 = Definition Table
$2 = File Name 
$3 = Pass Phrase

ObjectType

Returns the type of the object that the object label refers to

$R = ObjectType($1)

$R = Result
$1 = Object

SaveDataSet

Initiates saving of a given data set to a file name specified as a label

SaveDataSet($1,$2)

$1 = Data Set #
$2 = File Name 

SaveDataSet2

Save a version 2 dataset

$R = SaveDataSet2($1,$2,$3)

$R = Result
$1 = Definition Table
$2 = File Name 
$3 = Pass Phrase

SetFormat

Sets format of $1 to mode $2, with $3 being the label list name if its a label format

SetFormat($1,$2,$3)

$1 = Data To Set
$2 = Format
$3 = List Name

SetLastDataFile

Sets the last data filename, optionally visible in the titlebar

SetLastDataFile($1)

$1 = Name

StartScheduledEntries

Signals that scheduled entries should start (if options deferred them starting when the model was run)

StartScheduledEntries

Table

AdvancedSort

Performs a sort on a table using another table to define the sort criteria

AdvancedSort($R,$1)

$R = Target   
$1 = Sort Info

AllocateTableRowMemory

Enables memory to be reserved for a table which is expected to grow to a large number of rows

AllocateTableRowMemory($R,$1)

$R = Target Table 
$1 = Allocate Rows

AppendCol

Append a column to a table

AppendColumn($R)

$R = Target

AppendRow

Append a row to the table

AppendRow($R)

$R = Target

BlockMove

Block copy a range of cells to another table

BlockMove($R,$1,Range[$2][$3])

$R = Result
$1 = Source
$2 = # of Rows
$3 = # of Cols

CopyToClipboard

Copy table to clipboard using its clipboard settings and the option modifiers

CopyToClipboard($R,$1)

$R = From Table
$1 = Options

CreateSortIndex

Creates an ordered list of row numbers if the given column was sorted alphabetically

CreateSortIndex($R,$1)

$R = Target Column 
$1 = Column To Sort

DeleteCol

Delete a range of columns from a table

DeleteColumn($R,$1,$2)

$R = Target Table
$1 = First Col
$2 = Col Count

DeleteRow

Delete a number of rows starting at a given row in a table

DeleteRow($R,$1,$2)

$R = Target Table
$1 = First Row
$2 = Row Count

EnableColumnEditing

Controls whether a given table column can be edited

EnableColumnEditing($R,$1)

$R = Target Column
$1 = Edit Control 

GetColumnProperty

Read a property of a table column

$R = GetColumnProperty($1,$2)

$R = Result
$1 = Table Column
$2 = Property Label    

InsertCol

Insert columns into a table with the option of copying formatting from another column

InsertColumn($R,$1,$2,$3)

$R = Target Table
$1 = Insert Pos.
$2 = Col Count
$3 = Copy Format

InsertRow

Insert a number of rows at a given row in a table

InsertRow($R,$1,$2)

$R = Target Table
$1 = Insert Pos.
$2 = Row Count

OutOfScopeWrite

Enable writing to item table reference $1 even if it is not in scope

OutOfScopeWrite($1)

$1 = Item Table Ref

PasteFromClipboard

Paste the clipboard into the table using its clipboard options and the modifiers

PasteFromClipboard($R,$1)

$R = Target Table
$1 = Configure   

PurgeDuplicateRows

Removes any identical rows from the given table

PurgeDuplicateRows($R)

$R = Target

RegenerateBillboardTable

Regenerate a billboard table to reflect changes in the model

RegenerateBillboardTable($R)

$R = Billboard Table

Search

Search table until a condition is true

$R = Search($F)

$R = Result
$F = Set to

SetCellFreeText

Sets the free text (not bound by label text rules) for a table cell

SetCellFreeText($R,$1)

$R = Target Cell
$1 = Source Cell

SetColAlignment

Enables a column's text alignment to be changed

SetColumnAlignment($R,$1)

$R = Target Column
$1 = Align Mode   

SetColSecondTitle

Sets the text of the second title row for the given column

SetColumnSecondTitle($R,$1)

$R = Target Column
$1 = Title Text

SetColTitle

Set the title text of a table column

SetColumnTitle($R,$1)

$R = Target Column
$1 = Title Text

SetColTupleName

Sets the name used to internally identify a column

SetColumnTupleName($R,$1)

$R = Target Column
$1 = Tuple Text

SetColumnProperty

Set a property of a table column

SetColumnProperty($1,$2,$3)

$1 = Table Column
$2 = Property Label    
$3 = Property Value    

SetColWidth

Sets the formatting width of a table column

SetColWidth($R,$1)

$R = Target Column
$1 = Column Width

SetTableRowHeight

Sets the height of table rows

SetTableRowHeight($1,$2)

$1 = Target Table
$2 = Row Height

SetTableTitle

Set the title text of the table from the label

SetTableTitle($R,$1)

$R = Target Table
$1 = Title Text

ShiftCol

Shift the columns in a table

ShiftColumn($R,$1,$2)

$R = Result
$1 = Source
$2 = Shift <+ ->

ShiftRow

Shift the rows in a table

ShiftRow($R,$1,$2)

$R = Result
$1 = Source
$2 = Shift ^+ -v

Sort

Sort table by up to 3 columns

Sort($R,$1,$2,$3)

$R = Target
$1 = Primary Col.
$2 = Second Col.
$3 = Third Col.

TableReferenceSet

Returns non zero if the reference resolves to a table

$R = TableReferenceSet($1)

$R = Result
$1 = Item Table Ref

TableSortDialog

Enables the user to set up and perform a sort using the table sort dialog

TableSortDialog($R)

$R = Target

Table View

GetFilteredRows

Retrieves the filter mapping of view rows to actual rows into the list table

GetFilteredRows($1,$2,$3)

$1 = Filter List
$2 = Table
$3 = Panel

GetTableView

Read columns of a table view into another table

GetTableView($1,$2,$3)

$1 = View Table
$2 = View Panel
$3 = Config Table

ImportIntoView

Imports the system clipboard into a table view starting at the specified Top Left cell. Returns zero on success

$R = ImportIntoView($1,$2,$3,$4,$5,$6,$7)

$R = Error Result
$1 = Table
$2 = Panel
$3 = TL Row
$4 = TL Col
$5 = Options
$6 = Rows Read
$7 = Cols Read

ReFilterTableView

Reapply any active filters to the current data in the table

ReFilterTableView($1,$2)

$1 = Table
$2 = Panel

SetTableView

Set columns that a table view will display

SetTableView($1,$2,$3)

$1 = View Table
$2 = View Panel
$3 = Config Table

SetTableViewColScroll

Sets the column scroll of a view for a table on a given panel

SetTableViewColScroll($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

SetTableViewRowScroll

Sets the row scroll of a view for a table on a given panel

SetTableViewRowScroll($1,$2,$3)

$1 = Table
$2 = Panel
$3 = Value

TableViewColScroll

Reads the column scroll of a view for a table on a given panel

$R = TableViewColScroll($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewRows

Reads the number of rows in a table view. If a filter is set, this may differ from the number of rows in the table

$R = TableViewRows($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewRowScroll

Reads the row scroll of a view for a table on a given panel

$R = TableViewRowScroll($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewVisibleCols

Reads the number of visible columns in a table view

$R = TableViewVisibleCols($1,$2)

$R = Target
$1 = Table
$2 = Panel

TableViewVisibleRows

Reads the number of visible rows in a table view

$R = TableViewVisibleRows($1,$2)

$R = Target
$1 = Table
$2 = Panel

Time

DayOfMonth

Returns the day of the month, starting at 1

$R = DayOfMonth($1)

$R = Result
$1 = Time

DayOfWeek

Returns the day of the week, starting at 1 for Sunday

$R = DayOfWeek($1)

$R = Result
$1 = Time

DaysInDateMonth

Returns how many days in the month of the absolute time

$R = DaysInDateMonth($1)

$R = Result
$1 = Time

FormDate

Computes the absolute time representing midnight on the given date

$R = FormDate($1,$2,$3)

$R = Result
$1 = Date
$2 = Month
$3 = Year

HourOfDay

Returns the hour into the current day of the time, starting at 0

$R = HourOfDay($1)

$R = Result
$1 = Time

HourOfDay+1

Returns the hour into the current day of the time, starting at 1 instead of 0

$R = HourOfDay_1($1)

$R = Result
$1 = Time

IncrementByMonths

Increments the date by one or more months, attempting to keep the same day of month

IncrementByMonths($R,$1)

$R = Result
$1 = # of months

MonthOfYear

Returns the month of the year, starting at 1 for January

$R = MonthOfYear($1)

$R = Result
$1 = Time

TimeOfDay

Returns the number of seconds into the current day of the time

$R = TImeOfDay($1)

$R = Result
$1 = Time

WeekOfYear

Returns the week of the year, starting at 1

$R = WeekOfYear($1)

$R = Result
$1 = Time

YearOfDate

Returns the year of the given calendar time

$R = YearOfDate($1)

$R = Result
$1 = Time

Tuple

DecodeMultiLabelToTuple

Extracts the fields of a multi-label to item attributes with names matching the label lists in the multi-label

DecodeMultiLabelToItem($R)

$R = Target

EncodeItemToMultiLabel

Combines item attributes to form a multi-label, for item attributes with names matching the label lists in the multi-label

EncodeItemToMultiLabel($R)

$R = Target

MatchedCopyRow

Copy rows between tables where the column names match

MatchedCopyRow($R,$1)

$R = Result
$1 = Set To

TupleAppendFromCarried

Append a row to the table and for it, set table columns from a carried item's attributes with the same name

TupleAppendFromCarried($R,$1)

$R = Table
$1 = Carried Index

TupleAppendFromItem

Append a row into the table and for it, set table columns from item attributes with the same name

TupleAppendFromItem($R)

$R = Table

TupleCarriedToRow

For the specified row, set table columns from a carried item's attributes with the same name

TupleCarriedToRow($R,$1)

$R = Row
$1 = Carried Index

TupleDecrementToRow

For the specified row, decrement cells with the values of item attributes with matching names

TupleDecrementFromRow($R)

$R = Row

TupleExtractToCarried

For the specified row, set a carried item's attributes from table columns with the same name then delete the row

TupleExtractToCarried($R,$1)

$R = Row
$1 = Carried Index

TupleExtractToItem

For the specified row, set item attributes from table columns with the same name then delete the row

TupleExtractToItem($R)

$R = Row

TupleIncrementToRow

For the specified row, increment cells with the values of item attributes with matching names

TupleIncrementToRow($R)

$R = Row

TupleInsertFromCarried

Insert a row into the table and for it, set table columns from a carried item's attributes with the same name

TupleInsertFromCarried($R,$1)

$R = Row
$1 = Carried Index

TupleInsertFromItem

Insert a row into the table and for it, set table columns from item attributes with the same name

TupleInsertFromItem($R)

$R = Row

TupleItemToRow

For the specified row, set table columns from item attributes with the same name

TupleItemToRow($R)

$R = Row

TupleRowToCarried

For the specified row, set a carried item's attributes from table columns with the same name

TupleRowToCarried($R,$1)

$R = Row
$1 = Carried Index

TupleRowToItem

For the specified row, set item attributes from table columns with the same name

TupleRowToItem($R)

$R = Row

UI

AddListToMenu

Appends a new menu to the modeller custom menu bar

AddListToMenu($1,$2)

$1 = Menu Name
$2 = Item List

BrowseFile

Browse for a file. Returns non zero if one chosen. $1 sets an initial file, $2 enables a save-style dialog. Use s.LastAccessedDataFile and s.LastAccessedDataFilePath to access the file and full path spec of the file selected.

$R = BrowseFile($1,$2)

$R = File Chosen
$1 = File Spec
$2 = Save Mode

ClearCustomMenubar

Removes all menu items from the modeller custom menu bar

ClearCustomMenubar

Dialog

Show a dialog box for the user to interact with

$R = Dialog($F)

$R = Result
$F = Dialog

HandlePopupMenu

Interprets columns in table as depth/name/index and generates a popup menu. Returns index of selected item or 0 if cancelled

$R = HandlePopupMenu($1)

$R = Result
$1 = Table

InitiateFieldEdit

Starts editing attribute/cell views on a panel, as if the user clicked on the first one

InitiateFieldEdit($1)

$1 = Target Panel

SetMenuBar

Interprets columns in table as depth/name/index and builds a custom menu bar

SetMenuBar($1)

$1 = Table