The Fologram for Rhino and Grasshopper 2020.1 release includes a ground-up overhaul of our component library that is designed to simplify the development of common use cases and add powerful event driven functionality to more complex applications. The single input / single output architecture of these components makes them easy to learn, and wherever possible they support cross-platform use. This allows Fologram users to develop and prototype applications using mobile devices before switching to HoloLens for production. A guide to the new components is below.
Sync Object:
Inputs: Geometry (curve, surface, brep, mesh)
Outputs: Synchronized geometry
Right Click Menu: Interactivity, material properties, thickness (for curves)
Function: Synchronizes geometry with device. Surface, brep and mesh objects can be made interactive and moved on device. The moved geometry will be output by the component, breaking the parametric association with any inputs to the component. Updating the input parameters overwrites any transforms.
Sync Parameters:
Inputs: None
Outputs: None
Right Click Menu: None
Function: Placing the Sync Parameters component on the grasshopper canvas adds toggles (with a Fologram icon) all to sliders, buttons, toggles and value lists in the definition. Enabling the toggle creates a synchronized slider, button, toggle or value list within the Parameters slate on device. Changes made to either parameter is reflected on all connected devices (and in Grasshopper) in real time.
Sync Material:
Inputs: Material
Outputs: Synchronized material
Right Click Menu: None
Function: Streams the material to the device and enables material properties to be synchronized in real time using the Assign Material component.
Sync Text Tag:
Inputs: Text, Location, Size
Outputs: None
Right Click Menu: None
Function: Streams the text tag to connected mixed reality devices.
Assign Material:
Inputs: Synchronized geometry, Synchronized material
Outputs: None
Right Click Menu: None
Function: Assigns material to synchronized geometry.
Assign Transform:
Inputs: Synchronized geometry, Dynamic transform
Outputs: None
Right Click Menu: None
Function: Assigns a transform to synchronized geometry, primarily for the purpose of smooth animations.The Dynamic Transform type supports grasshopper Transforms, Planes and Points.
Track Connections:
Inputs: None
Outputs: Devices
Right Click Menu: Filter for HoloLens / Mobile only
Function: *Outputs a list of all connected devices that can be used as inputs to other tracking components. *
Track Devices:
Inputs: Device
Outputs: Dynamic Transform
Right Click Menu: Event filters (Manual, Always, OnPress, OnDragStart, OnDrag, OnHold, OnRelease, OnPointer)
Function: Outputs the dynamic transform (that can be cast to a plane or point to get location and orientation) of all specified devices. The event filter allows users to specify when this component should update/expire in order to trigger changes in parametric models only when certain conditions are met.
Track Hands:
Inputs: Device
Outputs: Points
Right Click Menu: Event filters (Manual, Always, OnPress, OnDragStart, OnDrag, OnHold, OnRelease, OnPointer)
Function: Outputs the tracked location of hands detected by specified devices. This component will output all 25 feature points for HoloLens 2 devices, and the palm location for HoloLens 1 devices. Mobile devices cannot detect hands and are not supported. The event filter allows users to specify when this component should update/expire in order to trigger changes in parametric models only when certain conditions are met.
Track Pointers:
Inputs: Device
Outputs: Rays
Right Click Menu: Event filters (Manual, Always, OnPress, OnDragStart, OnDrag, OnHold, OnRelease, OnPointer)
Function: Outputs pointers detected by specified devices. This component will output hand rays for HoloLens devices, and multi-touch rays for mobile devices. The event filter allows users to specify when this component should update/expire in order to trigger changes in parametric models only when certain conditions are met.
Track Taps:
Inputs: Device, Object
Outputs: Device index, Object index
Right Click Menu: Event filters (OnPress, OnHoverStart, OnHoverEnd, OnRelease)
Function: Detects tap events by specified devices on specified objects. The event filter allows users to specify when this component should update/expire in order to trigger changes in parametric models only when certain conditions are met.
Track State:
Inputs: Device
Outputs: String
Right Click Menu: None
Function: Outputs the state of a given device. The state (OnPress, OnRelease, OnDrag etc) can be used in combination with the state gate to trigger changes in parametric models only when certain conditions are met.
Track Scan:
Inputs: Device
Outputs: Mesh
Right Click Menu: Event filters (Manual, Always, OnPress, OnDragStart, OnDrag, OnHold, OnRelease, OnPointer)
Function: Outputs the spatial mesh for HoloLens devices and detected surface planes for mobile devices. The event filter allows users to specify when this component should update/expire in order to trigger changes in parametric models only when certain conditions are met.
Match Device:
Inputs: Any synchronized parameter
Outputs: Device
Right Click Menu: None
Function: Matches a device to a parameter change. Allows a single parameter to set a different variable for each device that interacts with the parameter. Used for creating multi-user applications.