This sample demonstrates how to monitor editable building information through selection and expression based styling on 3D data through OGC 3D Tiles.
This sample shows a Smart Site dataset. The dataset is an industry plant CAD model, made available as Hexagon PPM "BINZ" data through Smart InterOp Publisher. It has been converted to OGC 3D Tiles through LuciadFusion. This process retains metadata information such as linkage, moniker, and featureID.
The OGC 3D Tiles data is then displayed using a TileSet3DLayer
.
The layer has been made selectable, and uses the featureID to distinguish individual objects. When you click on an object, it is highlighted and a balloon is displayed, showing the properties of the selected object. The sample code also shows different ways of listening to selection events, and how to retrieve relevant data from the selected object.
The sample code adds two properties to the layer. The first property "PipeWithSensor" is a static property. Its default value is "0", indicating that no sensor is attached. The value gets updated once, for the piping right behind the operator in the startup view. It gets value "1", indicating that a temperature sensor is attached. The second property "PipeTemperature" is a dynamic property, meant to visualize the temperature of the pipe to which the sensor is attached. The temperature is updated every 200 milliseconds, and is used in a color expression. It lets the pipe change color as the temperature changes, and show possible overheating. When you select a part of the color-changing pipe, you will see that the temperature is also updated in the selection balloon.
This sample shows a number of visual effects that enhance the display of CAD data:
map.effects.antiAliasing
): avoid aliasing effects on sharp CAD object
edges.
map.effects.light
): enhances the 3D visualization.map.effects.ambientOcclusion
): enhances realism by adding soft
shadows.
map.effects.eyeDomeLighting
): enhances depth perception by outlining
objects.
TileSet3DLayer.transparency
): allows painting transparent objects.map.effects.environmentMap
): allows showing a skybox and defining a reflection map that will be used when PBR materials are available on the model.