Skip to content

OpenBIMRL | Anatomy OpenBIMRL Graph

Nodes

OpenBIMRL graphs consist of interlinked nodes. These nodes represent a wide variety of operations which, through clever linking, can represent complex rule checks.

Node Types

First of all, all nodes can be divided into three categories, each marked by a different color.

  1. Input-Nodes (yellow)
  2. Operator-Nodes (white)
  3. Output-Nodes (red)

Input-Nodes

Each input node is adapted and built according to its functionality. However, each of them is used to feed user input into an openBIMRL graph and has at least one output. As a rule, input nodes can be further customized by double-clicking on them - an exception to this is the switchInput.

textInput

textInput.png

The textInput consists of an input field and a single output. By double-clicking, the input value can be changed and can accept any value in the form of a string. This also includes numerical values and booleans.

distributorInput

distributorInput.png

WIP

colorInput

colorInput.png

The colorInput has three outputs and a visualization of the current color value. By doubel-clicking on the input, a color can be entered via various options. On the one hand, the color can be set via the large color field and the sliders for hue and opacity or via the corresponding numerical values directly, both the hexadecimal notation and the notation in the RGBA color space exist. Note, however, that the numerical values for RGB must be in the integer range from 0 to 255 and the numerical value for A must be a floating point value in the range between 0 and 1. The three outputs are given in HEX, HEX8 and RGBA. RGBA outputs numeric values from 0-255 for RGB and 0-1 for A. HEX8 outputs these values in the hexadecimal system. HEX gives these color values without information about opacity (A in RGBA).

numberSliderInput

numberSliderInput.png

The numberSliderInput outputs a numerical value that can be set variably via a slider. By double-clicking, further settings can be made on the slider. So the minimum, the maximum, the step size and the current value can be set manually.

switchInput

switchInput.png

The switchInput outputs a boolean. For this purpose, the status can be changed between "true" and "false" via the switch.

Operator-Nodes

addition.png

An operator node is a node that takes input values and calculates output values based on them using a function. For this purpose, an operator node can accept any number of input values and generate any number of output values, these being either simple values, lists or trees (see standard behavior). The name of the corresponding operator node is displayed at the top center.

Output-Nodes

ruleIdentifier.png

The RuleIdentifier node gives the user the ability to name outputs and have them selected as operands in the rules.

Status (WIP)

Verschiedene Status eines Blocks erklären. Farblich gekennzeichnet durch Änderung der Rahmenfarbe.

Grün = Erfolgreiche Berechnung Rot = Error in irgendeiner Form Blau = Kopiert

Node use cases

BlockUseCase.png

After executing a graph, the console can be viewed at each node to understand the outputs at each point in the graph. In addition, the user is informed about the status of each node.