Contents - Index - Previous - Next
Set Parent Coordinate System
We assume that in Shadow Visualizer and Shadow Analyzer X, Y, and Z axes of the coordinate system of the scene are looking to the East, North, and Zenith, respectively. The azimuth is counted clockwise from the North, so that the azimuth values of the East, South, and West are 90, 180, and 270 degrees, respectively.
Keep in mind the following hierarchy of the coordinate systems. The shape of each object is defined (according to the object type and parameters) in its own coordinate system. The position/orientation of the own coordinate system of an object can be defined either relatively the scene or relatively another object (the "parent" object). The "parent" object can provide several reference coordinate systems for its "child" object. One of them is associated with the "parent" object itself -- it is the own coordinate system of the "parent". Other systems can be associated with some elements of the "parent" object (for example, with its faces).
Use the toolbar Scene to select objects in active scene.
Use the toolbar Parent to select a parent object (a reference coordinate system) for the object selected in the combo box SCENE of the toolbar Scene.
Note: Use the button "##" ("Object Numbers") of the toolbar 3D View to mark all objects in the active 3D view window by their numbers in the scene. The numbers of the corresponding parent objects are shown in parentheses. This option is useful when you work with object families attaching one objects to other objects to construct object aggregates.
Select an object in the active scene
Activate a desired scene (click on any of its 3D view windows).
Open the combo box SCENE of the toolbar Scene to see the drop down list of all objects of the active scene. The object name consists of its sequence number in the scene and its type name. See the object descriptions in the status line. Find and select a desired object. The selected object appears in the edit window of the combo box SCENE.
If an object is selected in the combo box SCENE, it is also selected in 3D view windows, its edges are marked by an inverted color. Both the selections work synchronously. However if you hide the object edges, they cannot be marked in a 3D view window. See how to show/hide the object edges in Filter buttons of Set Object Colors/Filters.
Once an object is selected, the combo box REF CS of the toolbar Parent becomes enabled.
The Static control of the toolbar Parent shows the "parent" of the object selected in the combo box SCENE. It shows the sequence number of the parent object in the active scene and possibly, yet (after a comma) the sequence number of the reference coordinate system that is provided by the parent object for its child.
Select a parent coordinate system for the object selected in the active scene
On the screen shot above, the scene is the "parent" of the Cone that is selected in the combo box SCENE of the toolbar Scene. It is denoted by the word "scene" in the Static control of the toolbar Parent.
Use the combo box REF CS of the toolbar Parent to select a desired reference coordinate system.
Open the combo box REF CS to see the drop down list of all possible parent coordinate systems allowed for the object selected in the combo box SCENE. An object cannot be a parent of itself, as well as it cannot be a parent of its parent. Thus, not all the objects of the scene are listed in the combo box REF CS.
Each item in the list of the combo box REF CS consists of one or two numbers. The first (or the single) number is the sequence number of the object in the scene. A line with only one number means the own coordinate system of the object. The second number (after a comma) enumerates the additional reference coordinate systems that are provided by the object for its possible children.
The scene that is shown on the screen shots consists of three objects. The object number "1" is a 2D Rectangle (we use it as a floor for our scene). The object number "2" is a 3D Cylinder. The object number "3" is a 3D Cone.
Usually the additional coordinate systems are associated with object faces. For example, an object of the type "3D_Box" has 7 coordinate systems: one of them is the own coordinate system of the Box, six others are associated with six faces of the Box.
Use the toolbar Show to visualize the coordinate systems (see Set Scene Show Filters for details):
On the screen shot below, both buttons ("oC" and "pC") of the toolbar Show are switched on:
Now, if you click on the "P" button of the tool bar Parent, the Cone will be attached to the Cylinder top face, and you will get the scene that is shown on the next screen shot below.
The Static control of the tool bar Parent shows that the coordinate system "2, 1" became the parent coordinate system for the Cone that is still selected in the combo box SCENE of the tool bar Scene.
Note also, that on both pictures (above and below) the coordinate Z of the Cone is equal to zero. It means that the Cone has changed its parent, but not the location relatively the parent. The location of the origin of the own coordinate system of the Cone relatively its new parent (the Cylinder top face) stays the same, as it was relatively its old parent (the scene).
The main advantage of such the child-parent relationships between objects is that a child stays to be attached to its parent even if the parent object changes its parameters or its location. In all the transformations, the child follows its parent. So you do not need to adjust the coordinates of the child object each time when the parent object dimensions/location are changing.
For example, after we changed the number of the Cylinder side faces, decreased its top radius, and rotated the Cylinder on its X-axis by the second Euler angle E2 = - 45 degrees, the Cone stays still be attached to the Cylinder top face. See the result of these transformations on the screen shot below.
There is yet one powerful usage of the child-parent relationship between objects. You can copy all children together with its parent from one scene and insert the entire family into another scene. See Copy a family of objects in Copy Object/Family for details.
The enumeration of the reference coordinate systems
Usually, the enumeration of the reference coordinate systems goes from the top of the object to its bottom like in the case of the box "3D_Box": firstly, the own coordinate system of the box, and then six additional reference coordinate systems associated with the box faces -- "top", "front", "left", "right", "back", "bottom".
In the case of an object with the variable number of faces, this general order slightly changes. For example, in the case of a cylinder of the type "3D_Cyl", the order is as follows: firstly, the own coordinate system of the cylinder, then "top" and "bottom", and then all the side faces (counterclockwise from "12 hour").
How to repair the tree of object families
Working with an object that has a variable number of faces, you can face the situation, when after some transformations the reference to the parent object becomes obsolete. Let us consider it on the following example.
Let us assume that initially you created the cylinder with 31 side faces and attached a box to its 16th side face. Later, you decided to decrease the number of the cylinder's side faces to 15. The consequence number of the reference coordinate systems, to which the box was attached, was 18. This number was valid for the 31-sides-cylinder, but it became invalid in the case of 15-sides cylinder, because such a cylinder has only 17 reference coordinate systems. What will occur in such a case?
Shadow Analyzer interprets any invalid reference number as a reference to the own coordinate system of the parent object. It does not change the reference number, allowing you to use it later, when you return to a configuration, for which the reference will become valid again.
You do not need to remember all the valid and invalid references that you made during your work with the scene. After you finished you work, you can verify all the references by a simple operation "Ctrl + R". If there are some invalid references, Shadow Analyzer will prompt you to repair the entire tree of object families. If you answer "Yes", Shadow Analyzer will substitute each invalid reference by the reference to the own coordinate system of the corresponding parent object. If you answer "No", the invalid references will stay the same, and you will be able to return to them in your next session with Shadow Analyzer.