First released in version: 3.2

Object placement

Site visualization provides a window where humans can interact with the objects moving around in the SmartSpace digital twin of their real world. It provides a real-time view of where objects are located and the ability to monitor any spatial relations that have been defined to see when they’re getting activated and by which objects.

One of the core features of SmartSpace is the ability to define spatial relations between objects which describe important real-world interactions between those types. This is the basis for building location and context-aware applications using SmartSpace, and as such it is important to see what the system thinks is happening at any time. Also, when building new applications, it is important to be able to test spatial relation definitions. Hence site visualization allows you to virtually “pick objects up” and a move them around in the world model. In this way, you can test spatial interactions that you’ve defined without relying on a live location source.

The Place objects workspace

The Place objects workspace is an interactive drag-and-drop interface for placing objects into the world model, moving them around, and visualizing spatial relations that have been configured.

Click on OBJECT PLACEMENT to display the workspace.

screen shot showing the Object Placement workspace with a list of representaions, a list of objects, and an object in the virual environment

The Place objects workspace provides a 3D-view of your virtual world with a list of representations for use as background objects to build the world model, and a list of objects which have been assigned a default representation and can therefore be added as active participants in the environment you create.

The Place objects workspace is described in the following sections:

Placing background reps

The environment view is a combination of moving objects and background representations which give visual context for human users interacting with the SmartSpace world model. Background representations are expected to remain static in the scene, and as such they can be dragged from the representation list into the scene.

screen shot showing background image dragged into 3D viewer

Before you place a background rep, you must have imported the image (see Importing a site model) and have set its origin using the Set Reference Points tool (see Setting Scale, Orientation and Origin Using the Set Reference Points Tool). Then, when you have dropped the background rep into the scene, aligning it with the world coordinate system should just be a matter of setting its coordinates to (0,0).

Double-click the background you have just dragged into the scene. This opens a dialog that allows you to set the location of the rep in world coordinates. If your rep is already correctly scaled and offset, you can enter zeros for all translation and rotation fields. Additionally, you can lock the rep in place to reduce the chance that it gets accidentally moved while interacting with the world model using your mouse.

You can also follow the instructions displayed in green to move a background rep around in the environment. However, this is fine for background reps that are decorative, any reps that must be accurately aligned with the world coordinate system should not be moved in this way

screen shot showing how to set the position of a background rep

Using the same dialog you can also select Unset object location to remove the rep from the scene.

Placing objects on the map

For objects to be included in the List of objects available for placing in the virtual environment, they must be instances of types which have been assigned a representation using the <default> representation mode (see Adding a representation to a type).

Objects differ from background reps in that they are active participants in the SmartSpace object model. They come in two classes:

  • objects that are expected to remain stationary in the environment
  • objects that are mobile in the environment

Objects can be placed into the environment by dragging and dropping object names from the objects list.

screen shot showing object dragged into the 3D view

You then have the option to move and re-orient the object using mouse and keyboard controls as described in the Help text that overlays the environment display:

Alternatively, if you have known coordinates for objects, you can double-click and set object location and orientation explicitly. For stationary objects you can select the Lock object position option to ensure they are not accidentally moved.

Viewing spatial relations

Some types and objects will have spatial properties (extents) which are used to detect spatial interactions between objects as they move around and interact with each other in the world model. The environment view makes it possible to visualize these spatial relations as they happen in real-time, which can be a helpful validation to ensure new applications are working as expected. This same ability can be used to test spatial relations between object types by manually moving them, as described in Placing objects on the map.

Before you can visualize or test any spatial relations, you must have configured some. You can find information on configuring spatial relationships in Configure spatial relationships between types.

To enable a spatial relationship in the environment view, choose one or more spatial relations from the spatial relations list view.

screen shot showing some areas highlighted in blue due to a monitored spatial relation

Upon selection the space extents that currently satisfy the selected containment relation are highlighted in blue. Any spaces that are not currently “activated” are shown in a light gray color.

It is possible to modify the default active/inactive colors.