# Precision Placement Panel

The Precision Placement Panel is a tool for many differenct types of nodes. It let's you easily adjust the properties of different types of nodes.

# Node Properties Editor

Find it: Click onto the Node Editor button  in the Toolbar.

Use to: Type in values to scale, rotate, and translate.

Editing Transform node in Precision Placement Panel.

# Types of Nodes which can be Manipulated

Beside manipulating the Transform node fields, the Precision Placement Panel can be used for other nodes like:

• Billboard
• GeoLocation
• GeoTransform
• Group
• Layer
• Layout
• LayoutGroup
• LayoutLayer
• ParticleSystem
• TextureProjectorParallel
• TextureProjectorPerspective
• Transform
• Shape*
• Viewport

* Support for bounding box editing (it applies to all grouping nodes too).

It then changes its layout and shows the appropriate fields.

Editing LayoutGroup node in Precision Placement Panel.

# How It Works For Transform Nodes

A Transform is a grouping node that defines a coordinate system for its children that is relative to the coordinate system of its parents.

The translation, rotation, scale, scaleOrientation, and center fields define a geometric 3D transformation that is performed in the following order:

1. A scale about an arbitrary point where the scale can be nonuniform.
2. A rotation about an arbitrary point and axis.
3. A translation.

Translation: Move an object to a certain location specified in Meters and define the origin of the local coordinate system.

Box with axes and yellow center.

Rotation: Rotate an object about an axis. You can input the rotation axis (X, Y, Z) about which the rotation occurs and the angle, the angle is in radians. The rotation axis is a normalized vector and that will be done after you input some values. You can check this in the Outline Editor. If the angle is 0, always the standard rotation (0, 0, 1, 0) is calculated, regardless of the values of the axis, as the whole rotation will be normalized too. The preview left to the rotation values shows the current X, Y, Z axes and the white rotation axis. Click and drag the sphere in the preview widget to rotate the selected object. Note: It is often more feasible to use the Rotation Tool to change the rotation. Double click a selected object in the browser window to switch to the Rotation Tool. You can hold down the Ctrl-key while rotating to snap to predefined rotations while using the Rotation Tool.

Scale: Resize or stretch by typing in values for X, Y, and Z axes. Click on the connector button to toggle between uniform scaling and independent scaling of the axes.

Scale Orientation: Defines a rotation of the X,Y, Z axes of the coordinate system for the scaling operation. To apply a scaleOrientation the scale must be different from (1, 1, 1). The object is rotated by the values of the scaleOrientation field, then the scale is applied, and then the object is rotated back. The result is a sheared object. Note: Other values than the default can sometimes lead to undesired effects.

Cube with scale and scaleOrientation applied.

Center: You can here set the object's center of rotation, displayed in the scene by a selected object's yellow manipulator. Note: Double click the manipulator in the browser window to keep the center at its current location then drag the object.

## Bounding Box

The bboxSize and bboxCenter fields are optionally used to specify the maximum bounding box for the object in this node. The browser uses this bounding box for optimization and other purposes to determine whether the group or shape needs to be drawn. The bounding box must be large enough to completely contain all the children in the group, including the effects of all sounds, lights, and fog nodes that are children in this node. If the size of this Transform or grouping node changes over time because its children are animating, the bounding box should be large enough to contain all possible animations of the node. The bounding box should only be the union of the nodes children's bounding box; it should not include the node's transformation.

BBox Size: Dimensions in X, Y, and Z of the bounding box that surrounds the children of this Transform or grouping node. The default values (-1, -1, -1) indicate that the browser should compute the values on the fly.

BBox Center: Define a center of the box that surrounds the children of this Transform or grouping node.

Cube with green bounding box.

Fill Bounding Box Fields From Scratch: Calculates the bounding box fields from the underlying geometry and fills in the computed values. This is useful for Shape nodes with shaders that modify the geometry and ParticleSystem nodes, otherwise you will often use the default values. That yield to that the browser will compute the values on the fly if needed.