From: apo Date: Tue, 29 Nov 2005 11:27:31 +0000 (+0000) Subject: Merge with maintanace of the Base version of the D5-38-2003 X-Git-Tag: TG-D5-38-2003_D2005-20-12~105 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=5880dfc798b22016c497f406fa976628ebf93bd4;p=modules%2Fvisu.git Merge with maintanace of the Base version of the D5-38-2003 --- diff --git a/doc/salome/gui/GAUSS/activation_of_commands_display_results.htm b/doc/salome/gui/GAUSS/activation_of_commands_display_results.htm new file mode 100644 index 00000000..97430cd1 --- /dev/null +++ b/doc/salome/gui/GAUSS/activation_of_commands_display_results.htm @@ -0,0 +1,191 @@ + + + + + +Activation of commands display results + + + + + + + + + + + +

Activation of commands

+ +

The user has to select in the tree browser the time stamp value to display, by a right-mouse + button click. Items concerned by this command are all sub-items of ‘Fields’ entry.

+ +

Then, a contextual popup menu displays possible display modes, depending + whether the time stamps contains scalar and/or vector values:

+ +

 

+ + +++ + + + + + + + +
+

Options for fields containing only Vector and/or Scalar + values:

+

Options for fields containing only Scalar values:

+

+

+ +

 

+ +

Fig. 4 : Different display mode for results

+ +

 

+ +

These commands are also accessible from the Visualization + menu and from the Visualization + toolbar and are applied to the current selected field.

+ +

 

+ +

+ +

 

+ +

Fig. 5 : Visualization toolbar

+ +

 

+ +

Note:

+ +

In the case of data assigned + to Gauss Points, these existing modes of presentation may give incorrect + presentations because of the algorithms used for the translation of data + from Gauss points to the whole mesh element. Therefore, a message will + be displayed to inform the user about that and let him the possibility + to go on anyway or to cancel the operation:

+ +

 

+ +

+ +

 

+ +

Fig. 6 : Notification message for existing and not modified + VISU presentation

+ +

 

+ +

Two new options are added to the popup menus (scalar and scalar/vector), + the menu bar and the toolbar:

+ +

 

+ +

+ +

 

+ +

Fig. 7 : New command dedicated to Gauss points support

+ +

 

+ +

The first one displays results + of a computation at Gauss points, the second one displays only the Gauss + points (geometry) in the 3D view + for checking purpose.

+ +

This latest option should be understood as a debug mode to check if + coordinates of Gauss points are correctly computed by the system. Later + on, this option could be moved to the ‘Families’ entry of the tree browser + – like for Mesh entities – but this requires modifying the MED file data + model, and is out of the scope of this specification.

+ + + + diff --git a/doc/salome/gui/GAUSS/animation_function.htm b/doc/salome/gui/GAUSS/animation_function.htm new file mode 100644 index 00000000..997b817d --- /dev/null +++ b/doc/salome/gui/GAUSS/animation_function.htm @@ -0,0 +1,94 @@ + + + + + +Animation function + + + + + + + + + + + +

Animation function

+ +

When a field defines several timestamps, a right-mouse + button click display an ‘Animation’ + popup menu that allows user to define an animation of the results between + 2 date.

+ +

 

+ +

This option will be extended + to results at Gauss point, later on, in the frame of lot 3 – Advanced + version of the viewer.

+ + + + diff --git a/doc/salome/gui/GAUSS/blue_down.jpg b/doc/salome/gui/GAUSS/blue_down.jpg new file mode 100644 index 00000000..5376a154 Binary files /dev/null and b/doc/salome/gui/GAUSS/blue_down.jpg differ diff --git a/doc/salome/gui/GAUSS/blue_left.jpg b/doc/salome/gui/GAUSS/blue_left.jpg new file mode 100644 index 00000000..ceb91efb Binary files /dev/null and b/doc/salome/gui/GAUSS/blue_left.jpg differ diff --git a/doc/salome/gui/GAUSS/blue_right.jpg b/doc/salome/gui/GAUSS/blue_right.jpg new file mode 100644 index 00000000..bf6f9240 Binary files /dev/null and b/doc/salome/gui/GAUSS/blue_right.jpg differ diff --git a/doc/salome/gui/GAUSS/blue_up.jpg b/doc/salome/gui/GAUSS/blue_up.jpg new file mode 100644 index 00000000..383840fd Binary files /dev/null and b/doc/salome/gui/GAUSS/blue_up.jpg differ diff --git a/doc/salome/gui/GAUSS/cameras.htm b/doc/salome/gui/GAUSS/cameras.htm new file mode 100644 index 00000000..01518749 --- /dev/null +++ b/doc/salome/gui/GAUSS/cameras.htm @@ -0,0 +1,234 @@ + + + + + +Cameras + + + + + + + + + + + +

Cameras

+ +

Salome provides a simple way to store and retrieve a + specific point of view corresponding to the scene really seen by user. + This behaviour will be kept without any change for the project.

+ +

 

+ +

This command is activated by right clicking with the mouse on the 3D + view. Then a popup menu is opened, and user can select the ‘Save + view parameters’.

+ +

 

+ +

The selection of this command creates a new child node in the Study + and is shown in the Study browser under the main entry ‘Post-Pro’ – i.e. + nodes are located at the same levels as MED files.

+ +

 

+ +

From these nodes, 4 options are accessible through another contextual + popup menu, as described in the next figure:

+ +

 

+ +

+ +

 

+ +

Fig. 35 : Popup menu from a ‘Camera’ item of the tree

+ +

 

+ + + +++ + + + + + + + + + + + + + + + + + + + + +
+

Command

+

Purpose

+

Restore view parameters

+

Apply the current settings of the view parameter to the current 3D view.

+

Save view parameters

+

Save current parameters of the 3D view to the current entry of the tree + (position, view point and focal distance).

+

Rename

+

Allows user to redefine the name of the element. A dialog is opened + to realize the input.

+

Delete

+

Remove the element from the study browser.

+ +

 

+ +

Persistence of ‘View parameters’ is ensured as a standard Salome behavior + and consists in storing/retrieving the corresponding SALOMEDS Study attribute.

+ +

 

+ +

Movement of the camera between 2 positions

+ +

In certain situation, the movement of camera is slow and smooth to allow + user to understand the displacement. Situation concerned are:

+ +

 

+ + + +

 

+ +

The path between 2 positions will be interpolated by a number of steps + computed by the system according to an angular step defined in the preferences.

+ +

 

+ +

The interpolated movement takes care about initial and final positions + and orientations of the view point and the focal point.

+ +

 

+ +

+ +

 

+ +

Fig. 36 : Transformation between 2 cameras

+ +

 

+ +

Changing the view point to a predefined state

+ +

The user can also change the view point by any of the pre-defined icons + of the 3D view (top, down, front, back, left, right, axo):

+ +

 

+ + + +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/command_activation.htm b/doc/salome/gui/GAUSS/command_activation.htm new file mode 100644 index 00000000..de5201d6 --- /dev/null +++ b/doc/salome/gui/GAUSS/command_activation.htm @@ -0,0 +1,112 @@ + + + + + +Command Activation + + + + + + + + + + + +

Command Activation

+ +

The command is defined in the ‘File’ + menu of the VISU module:

+ +

Click File +  Import + from file    Displays + a selection file dialog box.

+ +

 

+ +

+ +

 

+ +

Fig. 1 : Opening a MED file in Salome

+ +

 

+ +

The dialog allows the user to browse the files hierarchy accessible + from his PC. When user found the file, he validates its choice by pressing + the ‘Open’ button.

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/command_activation_in_display_meshes.htm b/doc/salome/gui/GAUSS/command_activation_in_display_meshes.htm new file mode 100644 index 00000000..38d7269d --- /dev/null +++ b/doc/salome/gui/GAUSS/command_activation_in_display_meshes.htm @@ -0,0 +1,114 @@ + + + + + +Command Activation in Display Meshes + + + + + + + + + + + +

Activation of commands

+ +

The user has to select in the tree browser the mesh element + to display by a right-mouse button click. Items concerned by this command + are all sub-items of ‘Families’ + and ‘Groups’ entries.

+ +

 

+ +

Then, a contextual popup menu displays possible actions:

+ +

 

+ + + +

 

+ +

These commands are also accessible from the menu bar and from the Representation toolbar and are applied + to the current selection of the tree.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/command_activation_picking.htm b/doc/salome/gui/GAUSS/command_activation_picking.htm new file mode 100644 index 00000000..60230db0 --- /dev/null +++ b/doc/salome/gui/GAUSS/command_activation_picking.htm @@ -0,0 +1,140 @@ + + + + + +Command Activation picking + + + + + + + + + + + +

Command activation

+ +

The activation of the command is possible from:

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 44 : New Gauss Point + toolbar

+ +

 

+ +

This new toolbar will be connected to the main + 3D view only. The second icons will be explained in §7 - T2.6 – + Segmentation.

+ +

 

+ +

Note:

+ +

The timestamp popup menu + will not provide this functionality since the picking, as defined for + Gauss points behaviour, is implemented as a View + attribute. Thus, picking will be enabled for all presentation displayed + in the 3D view.

+ +

 

+ +

The activation of the command is done by selection of the ‘Gauss + Point Info’ item from either the menu bar or the toolbar icon. + A check mark will be added on + the left side of the corresponding menu bar item to remind to user that + the option is active. In the case of the toolbar icon, the button remains + pressed when command is activated.

+ +

 

+ +

Reversibly, the deactivation of the command is done by another selection + of the command, which acts as a toggle option. The check mark will then + be erased from the menu item, and button from the toolbar will be released.

+ + + + diff --git a/doc/salome/gui/GAUSS/command_activation_segmentation.htm b/doc/salome/gui/GAUSS/command_activation_segmentation.htm new file mode 100644 index 00000000..1989836e --- /dev/null +++ b/doc/salome/gui/GAUSS/command_activation_segmentation.htm @@ -0,0 +1,123 @@ + + + + + +Command Activation Segmentation + + + + + + + + + + + +

Command Activation

+ +

The activation of the command is possible from:

+ +

 

+ + + +

 

+ +

Note:

+ +

As for picking command, + the timestamp popup menu will not provide this functionality since the + segmentation is also implemented as a View attribute. Thus, segmentation + will be enabled for all presentation displayed in the 3D view.

+ +

 

+ +

The activation of the command is done by selection of the ‘Box + Segmentation’ item from either the menu bar or the toolbar icon. + A check mark will be added on + the left side of the corresponding menu bar item to remind to user that + the option is active. In the case of the toolbar icon, the button remains + pressed when command is activated.

+ +

 

+ +

Reversibly, the deactivation of the command is done by another selection + of the command, which acts as a toggle option. The check mark will then + be erased from the menu item, and button from the toolbar will be released.

+ + + + diff --git a/doc/salome/gui/GAUSS/command_deactivation.htm b/doc/salome/gui/GAUSS/command_deactivation.htm new file mode 100644 index 00000000..f795f6e8 --- /dev/null +++ b/doc/salome/gui/GAUSS/command_deactivation.htm @@ -0,0 +1,101 @@ + + + + + +Command deactivation + + + + + + + + + + + +

Command deactivation

+ +

When user exits the picking function (see 6.1), the system + performs the following tasks:

+ +

 

+ + + + + + diff --git a/doc/salome/gui/GAUSS/command_description_in_display_meshes.htm b/doc/salome/gui/GAUSS/command_description_in_display_meshes.htm new file mode 100644 index 00000000..0aaa8d3d --- /dev/null +++ b/doc/salome/gui/GAUSS/command_description_in_display_meshes.htm @@ -0,0 +1,283 @@ + + + + + +Command Description in Display Meshes + + + + + + + + + + + +

Description of commands

+ +

The popup + menu proposes two main lists of commands related to the display of the + meshes elements, in addition to a few other standards actions:

+ +

 

+ +

+ +

 

+ +

Fig. 3 : Families or Groups item Popup menu

+ +

 

+ + +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Command

+

Purpose

+

Sub-commands of Representation + menu

+

Points

+

Display all nodes of the meshes elements

+

Wireframe

+

Display meshes elements (skin of the elements) by drawing lines on their + boundaries.

+
    + +
  • Quadrangular items are represented by 4 lines + (and not 2 triangles)

  • + +
  • Quadratic elements are displayed like linear ones + (i.e.: boundaries) as a standard display.

  • +
+

+

Remark: + in the frames of this project, only Standard + display will be implemented.

+

Surface

+

Shaded display of the skin of the elements

+

Insideframe

+

Same as Wireframe, + but extended to all elements (inside included)

+

Surfaceframe

+

Equivalent to Surface + Wireframe + display mode.

+

Shrink

+

Explode elements to distinguish their boundaries from each other (homothetic + transformation). This mode can be activated either for Wireframe or Surface + display mode.

+

Unshrink

+

Cancels Shrink toggle option

+

Sub-commands of Properties menu

+

Color

+

Or both:

+

   Cell + Color

+

   Edge + Color

+

in the case of ‘Surfaceframe’ presentation

+

Allows user to define the color property of the elements through a standard + dialog:

+

+

 

+

Color is applied once user has pressed the OK + button.

+

Opacity

+

Allows user to define the transparency property of the elements. The + existing functionality allows to define a new value from a dialog and + to apply it by pressing the OK + button.

+

This behaviour will be changed + to a modeless dialog, as it is already implemented in the SMESH module, + so that the application of the transparency will be done in real time + (using a slider).

+

+

 

+

To exit the dialog, user has to press the Close + button (the current choice will be kept).

+

Line width

+

Allows user to define the line width property of the elements through + a standard dialog.

+

Values can be set from 1 to 10 units.

+

 

+

+

 

+

Property is applied once user has pressed the OK + button.

+

Note: this option affects only wireframe-based presentation.

+

Other commands

+

Rename

+

Allows user to redefine the name of the element. A dialog is opened + to realize the input.

+

Erase

+

Erase the elements from the 3D view.

+

Display Only

+

Clear the 3D view and display the element alone.

+

Delete

+

Erase the elements from the 3D view and remove it from the study browser.

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/command_description_segmentation.htm b/doc/salome/gui/GAUSS/command_description_segmentation.htm new file mode 100644 index 00000000..59d6d182 --- /dev/null +++ b/doc/salome/gui/GAUSS/command_description_segmentation.htm @@ -0,0 +1,325 @@ + + + + + +Command description segmentation + + + + + + + + + + + +

Command description

+ +

Once the command is activated, a new window, below + the main 3D view and docked + within the desktop is created to display the content of the segmentation + cursor.

+ +

 

+ +

A dialog box (see Fig. 50 : + Segmentation configuration dialog) is also displayed to manually configure + the segmentation cursor parameters.

+ +

 

+ +

As an example of the expected results, the next picture shows the 2 + views of the PERFECT viewer:

+ +

 

+ +

+ +

 

+ +

Fig. 49 : PERFECT viewer segmentation

+ +

 

+ + + +

 

+ + + +

 

+ +

 

+ +

Picking capabilities

+ +

The picking functionality, as defined in §6, is available in both views. + The picked point is also highlighted by the 3D cursor in both views simultaneously. + The semi-transparent information window is displayed in the view used + for the picking.

+ +

 

+ +

In the case a picked point (from the first view) is not visible in the + second view – i.e.: the point is not contained within the segmentation + cursor – only the picking cursor is displayed in the second view till + the selection is cancelled.

+ +

 

+ +

 

+ +

Edition of the segmentation cursor

+ +

A dialog with 2 tabs is opened when the function is activated. When + user exits this dialog, the function is ended and the second view (segmentation + cursor viewer) is erased.

+ +

 

+ +

The + following dialog describes configuration of the segmentation cursor:

+ +

 

+ +

+ +

 

+ +

Fig. 50 : Segmentation configuration dialog

+ +

 

+ +

This dialog defines the coordinates of the origin of the segmentation + cursor, in addition to its direction and depth.

+ +

 

+ +

Parameters are explained as follows:

+ +

 

+ +

+ +

 

+ +

Fig. 51 : Understanding segmentation cursor parameters

+ +

 

+ +

It is also possible to graphically edit + these parameters directly from the first 3D view with the mouse:

+ +

 

+ + + +

 

+ +

The dialog is automatically updated.

+ +

 

+ +

The + second tab defines the dialog to set-up Gauss points presentations:

+ +

 

+ +

+ +

 

+ +

Fig. 52 : Gauss points configuration dialog for Segmentation

+ +

 

+ +

The first part of the dialog is the same as for Fig. 24 : Results at + Gauss points primitive configuration dialog.

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 53 : Standard color dialog

+ +

 

+ +

Predefined view for the segmentation 3D view

+ +

A new toolbar is defined for the second view only (segmentation viewer) + to define certain pre-defined point of view:

+ +

 

+ +

+ +

 

+ +

Fig. 54 : New toolbar for the segmentation viewer 3D view

+ +

 

+ +

From left to right, the predefined points of view are:

+ +

 

+ + + +

 

+ +

This toolbar is docked to the frame of the second view.

+ +

 

+ +

Note:

+ +

The possibility to adjust + in real time the segmentation viewer to the segmentation cursor can be + proposed as a future improvement of this functionality, but is out of + the scope of this project.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/command_result.htm b/doc/salome/gui/GAUSS/command_result.htm new file mode 100644 index 00000000..57ba539a --- /dev/null +++ b/doc/salome/gui/GAUSS/command_result.htm @@ -0,0 +1,115 @@ + + + + + +Command Result + + + + + + + + + + + +

Command Result

+ +

The validation of the command starts the process of loading + data (see 'Loading MED files‘ specification of the project).

+ +

 

+ +

The browser, corresponding to the current study, is updated by the logical structure of the loaded MED + file in the form of a hierarchical tree.

+ +

 

+ +

The navigation within the tree is made possible by pressing either [+] to expand or [-] + to collapse a node. Node names correspond to names associated to entities + from the MED file.

+ +

 

+ +

+ +

 

+ +

Fig. 2 : Study browser populated by data loaded from MED + file

+ +

 

+ +

The 3D viewer is still not updated at this time (i.e.: nothing is yet + displayed in the 3D viewer).

+ + + + diff --git a/doc/salome/gui/GAUSS/cshdat_robohelp.htm b/doc/salome/gui/GAUSS/cshdat_robohelp.htm new file mode 100644 index 00000000..0867a68f --- /dev/null +++ b/doc/salome/gui/GAUSS/cshdat_robohelp.htm @@ -0,0 +1,258 @@ + + +Gauss Points Viewer + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/cshdat_webhelp.htm b/doc/salome/gui/GAUSS/cshdat_webhelp.htm new file mode 100644 index 00000000..ac72b5e2 --- /dev/null +++ b/doc/salome/gui/GAUSS/cshdat_webhelp.htm @@ -0,0 +1,251 @@ + + +Gauss Points Viewer + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/default.css b/doc/salome/gui/GAUSS/default.css new file mode 100644 index 00000000..321e4fcf --- /dev/null +++ b/doc/salome/gui/GAUSS/default.css @@ -0,0 +1,76 @@ +BODY { + font-family:Arial; + background-color:#ffffff; } +H1 { + font-weight:bold; + font-size:24.0pt; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +LI.kadov-P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + text-decoration:none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; } +UL { + margin-top:0px; + margin-bottom:0px; } diff --git a/doc/salome/gui/GAUSS/default_ns.css b/doc/salome/gui/GAUSS/default_ns.css new file mode 100644 index 00000000..dbda41ef --- /dev/null +++ b/doc/salome/gui/GAUSS/default_ns.css @@ -0,0 +1,93 @@ +BODY { + font-family:Arial; + background-color:#ffffff; } +H1 { + font-weight:bold; + font-size:24.0pt; + font-family:Arial; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; + font-family:Arial; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; + font-family:Arial; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; + font-family:Arial; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; + font-family:Arial; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; + font-family:Arial; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:1pt; + margin-bottom:1pt; + font-family:Arial; } +LI.kadov-P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + text-decoration:none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + text-decoration:none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; + font-family:Arial; } +UL { + margin-top:0px; + margin-bottom:0px; + font-family:Arial; } +ol ol { + margin-top:1px; } +ol ul { + margin-top:1px; } +ul ul { + margin-top:1px; } +ul ol { + margin-top:1px; } diff --git a/doc/salome/gui/GAUSS/description_of_commands_display_results.htm b/doc/salome/gui/GAUSS/description_of_commands_display_results.htm new file mode 100644 index 00000000..b0852459 --- /dev/null +++ b/doc/salome/gui/GAUSS/description_of_commands_display_results.htm @@ -0,0 +1,715 @@ + + + + + +Description of commands display results + + + + + + + + + + + + +

Description of commands

+ +

Results at Gauss Points

+ +

 

+ +

This mode corresponds to a new development that will be performed in + the frame of this project.

+ +

 

+ +

Values are displayed at Gauss points as point sprites in the 3D view.

+ +

 

+ + + +

 

+ +
+ + +++ + + + + + + + + +
+

Texture for intensity (brightness)  

+

+

Texture for alpha channel (transparency)  

+

+
+

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 22 : Point sprite display mode

+ +

 

+ +

Two different scalar bars are displayed simultaneously:

+ +

 

+ + + +

 

+ + + +

 

+ + + +

 

+ + + +++++ + + + + + + + + + + + + + + + + + + +
+

Mode

+

2 bars / + active = global bar

+

2 bars / active = local bar

+

1 active bar = local bar

+

Palette

+

+

+

+

Bicolor

+

red > 0

+

blue < 0

+

+

+

+ +

 

+ +

Fig. 23 : Scalar bars for results at Gauss point

+ +

 

+ +

The necessity to display simultaneously 2 synchronized scalars bars + requires defining a new dialog for the configuration.

+ +

 

+ +

Besides, a dedicated dialog is also defined to customize the point sprite + behaviour. Thus, when user activates the command, he is prompted by a + dialog with 2 tabs. They are defined as follows:

+ +

 

+ +

+ +

 

+ +

Fig. 24 : Results at Gauss points primitive configuration + dialog

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 25 : Open file dialog to load a texture

+ +

 

+ + + +

 

+ +
    + + +
+ +

 

+ +

Both values are dynamically + updated by the system according to the selected scalar bar (see Fig. 26 + : Scalar bar configuration). In the case of a bicolor scale, the minimum + value is set to 0 in the dialog and the control is disabled.

+ + + +

 

+ +

Keyboard:

+ +

During rendering the scene, it is possible to modify the magnification + (multiply/divide by the magnification ratio) by using ‘M’, + ‘m’ keys of the keyboard when + the 3D view is active. The effect is immediately applied. The ratio is + only defined through the dialog box.

+ +

 

+ +

Spacemouse:

+ +

The dynamic modification of the magnification is also possible using + 2 buttons of the Spacemouse Plus + (see §5).

+ +

 

+ +

+ +

 

+ +

Fig. 26 : Scalar bar configuration

+ +

 

+ +

This last dialog allows user to define the characteristics of the scalar + bars to display within the scene.

+ +

 

+ + + +

 

+ + + +

 

+ + + +

These colors also correspond to colors associated + to min/max values of the palette option.

+ +
    + + +
+ +

 

+ + + +

 

+ + + +

 

+ + + + + +

 

+ + + +

 

+ +

Finally, to exit the dialog and apply choices, press the OK + button, else CANCEL button, to + quit.

+ +

 

+ +

 

+ +

 

+ +

Gauss Points – Geometry (new presentation)

+ +

 

+ +

This mode corresponds to a new development + that will be performed in the frame of this project. It is very similar + to the presentation of Results as Gauss points (discussed in the previous + paragraph), so only differences are presented here.

+ +

 

+ +

Roughly, the differences between this presentation and the one for results + at Gauss points are:

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 27 : Point sprite display mode (no results case)

+ +

 

+ +

Besides, a dedicated dialog is also defined to customize the point sprite + behaviour. Thus, when user activates the command, he is prompted by a + dialog box defined as follow:

+ +

 

+ +

+ +

 

+ +

Fig. 28 : Results at Gauss points primitive configuration + dialog

+ +

 

+ +

The first part of the dialog is the same as for Fig. 24 : Results at + Gauss points primitive configuration dialog.

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 29 : Standard color dialog

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/description_of_the_picking_functionality.htm b/doc/salome/gui/GAUSS/description_of_the_picking_functionality.htm new file mode 100644 index 00000000..24634a65 --- /dev/null +++ b/doc/salome/gui/GAUSS/description_of_the_picking_functionality.htm @@ -0,0 +1,234 @@ + + + + + +Description of the picking functionality + + + + + + + + + + + +

Description of the picking functionality

+ +

In default mode, moving the mouse over the results at + Gauss points presentation produces the display of a specific + 3D cursor on each detected + Gauss points. Then, user has the possibility to select the detected item + to analyse it.

+ +

 

+ +

The specific cursor used for both modes, detection (pre-highlight) and + selection (highlight), is defined by a six-pyramids 3D graphic primitive + centred on the Gauss points. For more convenience, detection and selection + mode have different colors (same as Salome VISU) and cursor is displayed + in reverse-video.

+ +

 

+ +

+ +

 

+ +

Fig. 45 : Cursor for detection and selection of a result + at Gauss point

+ +

 

+ +

Selection of a point

+ +

There are two to way to select the current detected point:

+ +

Mouse: + A left-mouse button click on the detected point

+ +

Keyboard: +  ‘S’ (or ‘s’) + key of the keyboard when the 3D view is active

+ +

 

+ +

Note:

+ +

Only one point can be + selected at a time. Thus, selection of another point automatically unselects + the possibly selected one.

+ +

 

+ +

Modification of the camera after picking + of a point

+ +

Two situations occur:

+ +

 

+ +

i) No point is yet selected (>> first selection)

+ + + +

 

+ +

ii) A point is already selected (>> Nth + selection)

+ + + +

 

+ +

 

+ +

Display information

+ +

Once a point is selected, a semi-transparent window is displayed next + to the selected point and shows the following information:

+ +

 

+ + + +

 

+ +

+ +

 

+ +

Fig. 46 : Sample of semi-transparent window

+ +

 

+ +

In addition, the active scalar bar is updated to highlight the corresponding + value of the selected scalar value by a black line (not applicable for + a Gauss point without result).

+ +

 

+ +

Display parent mesh element

+ +

Once a point is selected, it is possible to display/erase + the parent mesh element in wireframe by using one of the following toggle + options:

+ +

 

+ +

Mouse: + Popup menu on the selected point: ‘Display + Parent mesh element’ (a check + mark on the left of the item informs if the parent is displayed + or not)

+ +

Keyboard: + ‘P’ (or ‘p’) + key of the keyboard when the 3D view is active (toggle option)

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/display_meshes_general.htm b/doc/salome/gui/GAUSS/display_meshes_general.htm new file mode 100644 index 00000000..a09de98b --- /dev/null +++ b/doc/salome/gui/GAUSS/display_meshes_general.htm @@ -0,0 +1,92 @@ + + + + + +Display Meshes General + + + + + + + + + + + +

General

+ +

This functionality allows the user to display in the + 3D view the loaded meshes entities.

+ +

 

+ +

There are several standard ways in Salome to display meshes and to modify + corresponding properties. Commands are accessible from the menu bar, contextual + popup menus and a toolbar. All these resources are defined and embedded + within VISU module.

+ + + + diff --git a/doc/salome/gui/GAUSS/display_results_at_gauss_points_general.htm b/doc/salome/gui/GAUSS/display_results_at_gauss_points_general.htm new file mode 100644 index 00000000..ef79772d --- /dev/null +++ b/doc/salome/gui/GAUSS/display_results_at_gauss_points_general.htm @@ -0,0 +1,111 @@ + + + + + +Display results at Gauss Points_General + + + + + + + + + + + +

General

+ +

The current functionality of SALOME allows user to display + in the 3D view the results of a calculation when known for each element + or each nodes. The capability to consider results at Gauss Points is a + new behaviour of this project.

+ +

 

+ +

Note:

+ +

The current existing + presentations for results on nodes of elements or on elements – in VISU + – will not be modified in this project. These modes are briefly presented + in this specification + for information purpose. Reversibly, presentation of results at + Gauss Points corresponds to a new functionality that will be added to + the VISU module. This + new display mode will be the only way to visualize results at Gauss points. + The GUI of this new presentation will be fully defined in the next paragraphs.

+ +

 

+ +

The process to access these commands is similar to the one defined for + displaying meshes elements. That is: menu bar, contextual popup menu and + toolbar. They are described here after.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/ehelp.xml b/doc/salome/gui/GAUSS/ehelp.xml new file mode 100644 index 00000000..7a1defe4 --- /dev/null +++ b/doc/salome/gui/GAUSS/ehelp.xml @@ -0,0 +1,10 @@ + + + + + + + + WebSearch + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/ehlpdhtm.js b/doc/salome/gui/GAUSS/ehlpdhtm.js new file mode 100644 index 00000000..6cfd2e46 --- /dev/null +++ b/doc/salome/gui/GAUSS/ehlpdhtm.js @@ -0,0 +1,4239 @@ +// eHelp® Corporation Dynamic HTML JavaScript +// Copyright© 1998-2003 eHelp® Corporation.All rights reserved. +// Version=4.82 + +// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. + +//// Segment Begin -- (JavaScript 1.0) + +/// Section Begin - General and relative topics(JavaScript 1.0) + +//{{HH_SYMBOL_SECTION +var HH_ChmFilename = ""; +var HH_WindowName = ""; +var HH_GlossaryFont = ""; +var HH_Glossary = ""; +var HH_Avenue = ""; +var HH_ActiveX = false; +//}}HH_SYMBOL_SECTION + +//Begin to support previous generic parameters +//Get the information about the browser. +var gstrBsAgent = navigator.userAgent.toLowerCase(); +var gnBsVer = parseInt(navigator.appVersion); + +var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); +var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1); +var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1); +var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; +var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; + +var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); +var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); +var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -1); + +var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); +var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); + +var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); +var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); +var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); +var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); + +var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); +var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); +var gbBsNS7 = false; + +var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); +var gbBsIE5 = false; +var gbBsIE55 = false; + +var gbBsOpera6 = false; +var gbBsOpera7 = false; + +var gbBsKonqueror3 = false; + + + +gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;; +if (gbBsIE) +{ + if (parseInt(navigator.appVersion) >= 4) { + gbBsIE4 = true; + if (gbBsIE4) { + var nPos = gstrBsAgent.indexOf("msie"); + var strIEversion = gstrBsAgent.substring(nPos + 5); + var nVersion = parseFloat(strIEversion); + if (nVersion >= 5) + gbBsIE5 = true; + if (nVersion >= 5.5) + gbBsIE55 = true; + } + } +} +if (gbBsNS6) +{ + var nPos=gstrBsAgent.indexOf("gecko"); + if(nPos!=-1) + { + var nPos2=gstrBsAgent.indexOf("/", nPos); + if(nPos2!=-1) + { + var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1)); + if (nVersion>=20020823) + gbBsNS7=true; + } + } +} +if (gbBsOpera) +{ + var nPos = gstrBsAgent.indexOf("opera"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+6)); + if (nVersion >= 6) + { + gbBsOpera6=true; + if (nVersion >=7) + gbBsOpera7=true; + } + } +} +if (gbBsKonqueror) +{ + var nPos = gstrBsAgent.indexOf("konqueror"); + if(nPos!=-1) + { + var nVersion = parseFloat(gstrBsAgent.substring(nPos+10)); + if (nVersion >= 3) + { + gbBsKonqueror3=true; + } + } +} + +function insertAdjacentHTML(obj, where, htmlStr) +{ + if (gbBsIE || gbBsOpera7) + { + obj.insertAdjacentHTML(where, htmlStr); + } + else if (gbBsNS6 || gbBsSafari) + { + var r = obj.ownerDocument.createRange(); + r.setStartBefore(obj); + var parsedHTML = r.createContextualFragment(htmlStr); + + switch (where){ + case 'beforeBegin': + obj.parentNode.insertBefore(parsedHTML,obj); + break; + case 'afterBegin': + obj.insertBefore(parsedHTML,obj.firstChild); + break; + case 'beforeEnd': + obj.appendChild(parsedHTML); + break; + case 'afterEnd': + if (obj.nextSibling){ + obj.parentNode.insertBefore(parsedHTML,obj.nextSibling); + } else { + obj.parentNode.appendChild(parsedHTML); + } + break; + } + } +} + +// Utilities functions. +function BsscHasExtJs() +{ + if( gbBsIE3Before || gbBsNS3Before) + return false; + return true; +} + +// Register event handler +var gBsOnLoads = new Array(); // An array holds all the onload event handler. +var gBsOnClicks = new Array(); // An array holds all the onClick event handler. +var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. +var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. +var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. + +var gbOrignalOnMouseDown = null; + +function BsscRegisterOnLoad(funcHandler) +{ + var nLength = gBsOnLoads.length; + gBsOnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnClick(funcHandler) +{ + var nLength = gBsOnClicks.length; + gBsOnClicks[nLength] = funcHandler; +} + +function BsscRegisterOnUnLoad(funcHandler) +{ + var nLength = gBsOnUnLoads.length; + gBsOnUnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOver(funcHandler) +{ + var nLength = gBsOnMouseOvers.length; + gBsOnMouseOvers[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOut(funcHandler) +{ + var nLength = gBsOnMouseOuts.length; + gBsOnMouseOuts[nLength] = funcHandler; +} + +function BsGeneralOnLoad() +{ + if (!gbBsIE4 && !gbBsNS4) + return; + + // Make everything visible in navigator + if (gbBsNS4 && !gbBsNS6) { + // Make some special effects items visible + for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { + document.layers[iLayer].visibility = "show"; + document.layers[iLayer].left = 0; + } + } +} + +// If resize the netscape browser, need to reload it. +function BsReDo() +{ + if (innerWidth != origWidth || innerHeight != origHeight) + location.reload(); +} +// End of the local functions. + +// The following functions are used by the html files. +function BSSCOnLoad() +{ + if( !BsscHasExtJs() ) + return; + for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) + gBsOnLoads[nElement](); +} + +function BSSCOnClick() +{ + if (!BsscHasExtJs()) return; + + for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) + gBsOnClicks[nElement](); +} + +function BSSCOnUnload() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) + gBsOnUnLoads[nElement](); +} + +function BSSCOnMouseOver() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) + gBsOnMouseOvers[nElement](); +} + +function BSSCOnMouseOut() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) + { + gBsOnMouseOuts[nElement](); + } +} +// End of invocation of the event handle functions. + +// Add the GereralOnLoad to the onload array. +if (typeof(BsscRegisterOnLoad) != "undefined") +{ + BsscRegisterOnLoad(BsGeneralOnLoad); +} +if (gbBsNS4&&!gbBsNS6) { + origWidth = innerWidth; + origHeight = innerHeight; + onresize = BsReDo; +} +//End to support previous generic parameters + +//Begin to support previous HHActiveX invoking +function BsHHActivateComponents() +{ + if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) + { + var objBody = getElementsByTag(document,"BODY")[0]; + if( typeof(objBody) == "object" ) + { + insertAdjacentHTML(objBody, "beforeEnd", ''); + if (HHComponentActivator.object) + HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); + } + } +} + +function BsHHActivXOnLoad() +{ + if( gbBsIE4 ) + BsHHActivateComponents(); +} + +if( typeof(BsscRegisterOnLoad) != "undefined" ) +{ + BsscRegisterOnLoad(BsHHActivXOnLoad); +} +//End to support previous HHActiveX invoking + +//Begin to support previous relative topics +//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here +var gbPopupMenuTimeoutExpired = false; +var gbInPopupMenu = false; +var gbPopupMenuTopicList = null; +var gOlddocumentClick = null; + +////////////////////////////////////////////////////////////////////////////////////////// +// +// Popup Menu code +// +////////////////////////////////////////////////////////////////////////////////////////// + +var g_bIsPopupMenuInit = false; +function _WritePopupMenuLayer() +{ + if (!g_bIsPopupMenuInit) + { + if (gbBsNS4&&!gbBsNS6) { +//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... + document.write("
"); + } else{ + document.write(""); + if (!(gbBsNS4&&!gbBsNS6)) { + document.write(""); + } + } + g_bIsPopupMenuInit = true; + } +} + +//Seek for the bsscright frame +function _SeekFrameByName( cRoot, strName ) +{ + if( cRoot == null ) return null; + if( cRoot.frames == null ) return null; + if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; + for (var i=0; i'; + } else { + strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; + } + strMenu += ''; + + if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { + i += 2; + } else { + i += 1; + } + } + strMenu += ""; + + if (gbBsMac) { + // totally hack. because ie5 in mac need something. is one of them. mac is mad. + strMenu +="
"; + } + + var layerPopup = null; + var stylePopup = null; + var nEventX = 0; + var nEventY = 0; + var nWindowWidth = 0; + if (gbBsIE4 || gbBsOpera7) { + + layerPopup = getElement("PopupMenu"); + layerPopup.innerHTML = strMenu; + stylePopup = layerPopup.style; + + _BSPSGetClientSize(); + + // Get the position of the item causing the event (relative to its parent) + nEventX = window.event.clientX; + nEventY = window.event.clientY; + + if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { + nEventY += document.body.scrollTop + 10; + } else { + nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; + } + stylePopup.top = nEventY; + + var nPopupWidth = layerPopup.scrollWidth; + if (gbBsMac) { + nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. + } + if (nEventX + nPopupWidth + 20 > gBsClientWidth) { + if (gBsClientWidth - nPopupWidth < 5) { + stylePopup.left = 5; + } else { + stylePopup.left = gBsClientWidth - nPopupWidth - 5; + } + } else { + stylePopup.left = nEventX + document.body.scrollLeft + 20; + } + + stylePopup.visibility = "visible"; + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + document.onclick = PopupMenu_HandleClick; + + } else if (gbBsNS6 || gbBsKonqueror3||gbBsSafari) { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + + if (gbBsNS6) + { + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + } + else + { + nEventX = window.event.clientX; + nEventY = window.event.clientY; + } + _BSPSGetClientSize(); + layerPopup.innerHTML = strMenu; + + if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; + } + + if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; + } + } else { + nEventX += 20; + } + layerPopup.style.top = nEventY; + layerPopup.style.left = nEventX; + // set again to avoid the stupid frash in netscape 6. + layerPopup.innerHTML = strMenu; + layerPopup.style.visibility = "visible"; + //window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + window.onclick = PopupMenu_HandleClick; + } + else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + stylePopup = layerPopup.document; + stylePopup.write(strMenu); + stylePopup.close(); + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _BSPSGetClientSize(); + if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; + } + layerPopup.top = nEventY; + + if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; + } + } else { + nEventX += 20; + } + + layerPopup.left = nEventX; + + layerPopup.visibility = "show"; + + window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onmousedown) + gOlddocumentClick = document.onmousedown; + window.onmousedown = PopupMenu_HandleClick; + } + + window.gbInPopupMenu = true; + window.gbPopupMenuTimeoutExpired = false; + setTimeout("PopupMenu_Timeout();", 100); + return false; +} + +function PopupMenu_Timeout() +{ + window.gbPopupMenuTimeoutExpired = true; +} + +function PopupMenu_Over(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupOver"; + return; +} + +function PopupMenu_Out(e) +{ + if (gbBsIE4||gbBsOpera7) + e.srcElement.className = "PopupNotOver"; + else if (gbBsNS6) + e.target.parentNode.className = "PopupNotOver"; + return; +} + +function PopupMenu_HandleClick(e) +{ + if (window.gbPopupMenuTimeoutExpired) { + window.gbInPopupMenu = false; + if (gbBsNS4 && !gbBsNS6) { + window.releaseEvents(Event.MOUSEDOWN); + } + + var layerPopup = null; + if (gbBsNS4&&!gbBsNS6) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + } else { + layerPopup = getElement("PopupMenu"); + layerPopup.style.visibility = "hidden"; + } + + if (gOlddocumentClick) + { + if (gbBsNS4 && !gbBsNS6) + document.onmousedown = gOlddocumentClick; + else + document.onclick = gOlddocumentClick; + } + } + return; +} + +function BSSCPopup_ClickMac() +{ + if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7)) + { + var bClickOnAnchor = false; + var el; + if ((window.event != null) && + (window.event.srcElement != null)) + { + el = window.event.srcElement; + while (el != null) + { + if ((el.tagName == "A") || (el.tagName == "AREA")) { + bClickOnAnchor = true; + break; + } + if (el.tagName == "BODY") { + break; + } + el = getParentNode(el); + } + } + if (BSSCPopup_IsPopup()) + { + if (!bClickOnAnchor) { + parent.window.gPopupWindow = null; + self.close(); + } + } + else + { + bClosePopupWindow = true; + if ((bClickOnAnchor) && + (el.href) && + ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) + { + bClosePopupWindow = false; + } + if (bClosePopupWindow) + { + if (window.gPopupWindow != null && !window.gPopupWindow.closed ) + { + window.gPopupWindow.close(); + } + } + } + } +} + +function BsPopupOnClick() +{ + if (!gbBsIE4 && !gbBsOpera7) + return; + + BSSCPopup_ClickMac(); +} + +function _BSSCOnError(message) +{ + if(-1 != message.indexOf("denied") + || -1 != message.indexOf("Object required")) + return true; +} + +//End to support previous relative topics + +/// Section End - General and relative topics (JavaScript 1.0) + +/// Section Begin - Popup (JavaScript 1.0) +//Begin to support previous popup functions + +//variables used to isolate the browser type +var gBsStyVisShow = null; +var gBsStyVisHide = null; +var gBsClientWidth = 640; +var gBsClientHeight = 480; + +// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. +var gBRateH_W = 0.618; // 1.618 Golden cut. +var gBMaxXOfParent = 0.8; +var gBMaxYOfParent = 0.8; +var gBscrollHeight = 16; +var gBscrollWidth = 16; +var gBpermitXDelta = 3; +var gBpermitYDelta = 3; + + +var arrayPopupURL = new Array(); +var arrayAbsPopupURL = new Array(); + +var arrayDirty = new Array(); + +function setAbsPopupURL(nIndex, strURL) +{ + arrayAbsPopupURL[nIndex] = strURL; +} + +function getAbsPopupURL(nIndex) +{ + if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; + else + return arrayAbsPopupURL[nIndex]; +} + +function getPopupURL(nIndex) +{ + if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; + else + return arrayPopupURL[nIndex]; +} + +function getPopupID(nIndex) +{ + return gstrPopupID + nIndex; +} + +function getPopupShadowID(nIndex) +{ + return gstrPopupShadowID + nIndex; +} + +function getPopupTopicID(nIndex) +{ + return gstrPopupTopicID + nIndex; +} + +function getPopupIFrameID(nIndex) +{ + return gstrPopupIFrameID + nIndex; +} + +function getPopupIFrameName(nIndex) +{ + return gstrPopupIFrameName + nIndex; +} + + +function getPopupTopicStyle(nIndex) +{ + return getElement(getPopupTopicID(nIndex)).style; +} + +function getPopupShadowStyle(nIndex) +{ + return getElement(getPopupShadowID(nIndex)).style; +} + +function getPopupIFrame(nIndex) +{ + if (gbBsNS6) + return eval("window.frames['" + getPopupIFrameName(nIndex) + "']"); + else + return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); +} + +function getPopupDivStyle(nIndex) +{ + return getElement(getPopupID(nIndex)).style; +} + +function getPopupIFrameStyle(nIndex) +{ + return getElement(getPopupIFrameID(nIndex)).style; +} + + +function findDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) { + if (arrayPopupURL[i] == strURL) { + return i; + } + } + return -1; +} + +var gnToken = -1; +function takeToken() +{ + gnToken ++; + if (gnToken > 10000) gnToken = 0; + return gnToken; +} + +function IsValidToken(nToken) +{ + return (gnToken == nToken); +} + +function addDiv(strURL) +{ + for (var i = 0; i < arrayPopupURL.length; i ++) { + if (arrayPopupURL[i] == null) { + arrayPopupURL[i] = strURL; + return i; + } + } + arrayPopupURL[i] = strURL; + arrayDirty[i] = true; + return i; +} + +function setDirty() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + arrayDirty[i] = true; +} + +function IsDirty(nIndex) +{ + if (nIndex == -1) + return true; + else + if (arrayDirty.length > nIndex) + return arrayDirty[nIndex]; + else + return true; +} + +function hideAll() +{ + for (var i = 0; i < arrayPopupURL.length; i ++ ) + { + getPopupDivStyle(i).visibility = gBsStyVisHide; + getPopupIFrameStyle(i).visibility = gBsStyVisHide; + } +} + +function getCurrentPopupIFrame() +{ + for (var i = 0; i < arrayPopupURL.length; i ++) + if (getPopupDivStyle(i).visibility == gBsStyVisShow) + return getPopupIFrame(i); + return null; +} + +function setClear(nIndex) +{ + if (nIndex != -1) + arrayDirty[nIndex] = false; +} + +function _BSSCCreatePopupDiv(strURL) +{ + var nIndex = findDiv(strURL); + if (nIndex == -1 ) { + nIndex = addDiv(strURL); + BsPopup_CreateDiv(nIndex); + } + else { + if (IsDirty(nIndex)) { + if("object" == typeof(getPopupIFrame(nIndex).document)) + getPopupIFrame(nIndex).document.location.href = strURL; + } + } + return nIndex; +} + +//Here is the browser type +function _BSPSGetBrowserInfo() +{ + if (gbBsNS4&&!gbBsNS6) + { + gBsStyVisShow = "show"; + gBsStyVisHide = "hide"; + } + else + { + gBsStyVisShow = "visible"; + gBsStyVisHide = "hidden"; + } +} + +_BSPSGetBrowserInfo(); + +//Get client size info +function _BSPSGetClientSize() +{ + if (gbBsNS4||gbBsKonqueror3||gbBsSafari) + { + gBsClientWidth = innerWidth; + gBsClientHeight = innerHeight; + } + else if (gbBsIE4 || gbBsOpera7) + { + gBsClientWidth = document.body.clientWidth; + gBsClientHeight = document.body.clientHeight; + } +} + +var gstrPopupID = 'BSSCPopup'; +var gstrPopupShadowID = 'BSSCPopupShadow'; +var gstrPopupTopicID = 'BSSCPopupTopic'; +var gstrPopupIFrameID = 'BSSCPopupIFrame'; +var gstrPopupIFrameName = 'BSSCPopupIFrameName'; + +var gstrPopupSecondWindowName = 'BSSCPopup'; + +var gPopupWindow = null; +var gnPopupClickX = 0; +var gnPopupClickY = 0; + +var gnPopupScreenClickX = 0; +var gnPopupScreenClickY = 0; + +var gbPopupTimeoutExpired = false; + +function DHTMLPopupSupport() +{ + if (((gbBsIE4) && (!gbBsMac))||gbBsOpera7|| gbBsNS7) { + return true; + } + return false; +} + +function BSSCPopup_IsPopup() +{ + if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { + return true; + } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (this.name.indexOf(gstrPopupID) != -1)) { + return true; + } else { + return false; + } +} + +// If there is a hyperlink in a popup window, display the hyperlink in +// the original window. (bsscright) +if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) { + document.write(""); +} + +// Local functions. +function BsPopup_CreateDiv(nIndex) +{ + if(!DHTMLPopupSupport()) + return; + // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. + var strPopupDiv = ""; + + var objBody = getElementsByTag(document, "BODY")[0]; + if( typeof(objBody) != "object" ) + return; + + insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv); +} + +function handleLoadNS() +{ + if (this.id) + { + var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length)); + BSSCPopup_PostWork(nIndex); + } +} + +function BSSCPopup_PostWork(nIndex) +{ + getPopupDivStyle(nIndex).visibility = gBsStyVisShow; + getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow; + + setClear(nIndex); + window.gbPopupTimeoutExpired = true; + + BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); + if (gbBsNS6) + getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false); + else + getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; + + if (!gbOrignalOnMouseDown && document.onmousedown) + gbOrignalOnMouseDown = document.onmousedown; + + if (gbBsNS6) + document.addEventListener("mousedown", BSSCPopupParentClicked,false); + else + document.onmousedown = BSSCPopupParentClicked; +} + +function BSSCPopup_Timeout(nIndex, nToken) +{ + if (!IsValidToken(nToken)) return; + + if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") && + (getPopupIFrame(nIndex).document.body != null))) { + BSSCPopup_PostWork(nIndex); + } else { + setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); + } +} + +// VH 08/10/00 +// do not change target to parent if the href is using javascript +function BSSCPopup_ChangeTargettoParent(tagsObject) +{ + var collA = getElementsByTag(tagsObject, "A"); + BSSCPopup_ChangeTargettoParent2(collA); + + var collIMG = getElementsByTag(tagsObject,"IMG"); + BSSCPopup_ChangeTargettoParent2(collIMG); +} + +function BSSCPopup_ChangeTargettoParent2(colls) +{ + if (colls != null) { + for (var j = 0; j < colls.length; j ++ ) + { + var strtemp = colls[j].href; + if (strtemp) + { + strtemp = strtemp.toLowerCase(); + if (strtemp.indexOf("javascript:") == -1) + if (colls[j].target == "") + colls[j].target = "_parent"; + } + } + } +} + +function BSPSPopupTopicWinHelp(strURL) +{ + _BSSCPopup(strURL); + return; +} + +function _BSSCPopup(strURL, width, height) +{ + var cuswidth = 0; + var cusheight = 0; + if ("undefined" != typeof(width) && "undefined" != typeof(height)) { + cuswidth = width; + cusheight= height; + } + + if (DHTMLPopupSupport()) { + var nToken = takeToken(); // take token first. + var nIndex = _BSSCCreatePopupDiv(strURL); + window.gbPopupTimeoutExpired = false; + var ntWidth = gBsClientWidth; + var ntHeight = gBsClientHeight; + _BSPSGetClientSize(); + if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { + setDirty(); + } + + if (IsDirty(nIndex)) { + if (gbBsMac) { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); + } + } + else { + MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); + } + } else { + _BSSCPopup2(strURL, cuswidth, cusheight); + } + return; +} + +if (gbBsIE55) +{ + var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; + var gnBsUnload=0; + window.onbeforeunload = window_BUnload; +} + +function window_BUnload() +{ + gnBsUnload++; + if (gnBsUnload>1) + return; + for (var i = 0; i < arrayPopupURL.length; i ++) + removeThis(document.all(getPopupID(i))); + arrayPopupURL.length = 0; + if (ehlpdhtm_fOldBefureUnload) + ehlpdhtm_fOldBefureUnload(); +} + +function _BSSCPopup2(strURL, width, height) +{ + if (gbBsOpera6&&gbBsMac) + { + var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName); + wmTemp.close(); + setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100); + } + else + _BSSCPopup3(strURL, width, height); +} + +function _BSSCPopup3(strURL, width, height) +{ + if (window.name == gstrPopupSecondWindowName) { + window.location = strURL; + } else { + if (!gbBsMac || !gbBsNS4) { + BSSCHidePopupWindow(); + } + var nX = 0; + var nY = 0; + var nHeight = 300; + var nWidth = 400; + if (width > 0 && height > 0) { + nHeight = height; + nWidth = width; + } + _BSPSGetClientSize(); + + nX = window.gnPopupScreenClickX; + nY = window.gnPopupScreenClickY; + + if (nY + nHeight + 40 > screen.availHeight) { + nY = screen.availHeight - nHeight - 40; + } + if (nX + nWidth + 40 > screen.availWidth) { + nX = screen.availWidth - nWidth - 40; + } + + // Launch a separate window + var strParam="titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; + if (gbBsNS) { + if (gbBsNS6) { + strParam += ",Height=" + nHeight + ",Width=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + else { + strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + } + else { + strParam += ",height=" + nHeight + ",width=" + nWidth; + strParam += ",left=" + nX + ",top=" + nY; + } + if (gbBsSafari) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + window.gPopupWindow = window.open(strURL, "", strParam); + window.gPopupWindow.name = gstrPopupSecondWindowName; + window.gPopupWindow.moveTo(nX, nY); + widnow.gPopupWindow.document.location.reload(); + } + else + { + var wmTemp=null; + if (gbBsKonqueror3) + { + if (window.gPopupWindow) + window.gPopupWindow.close(); + } + if (gbBsOpera&&gbBsMac) + { + wmTemp= window.open(document.location.href, "Temp", strParam); + } + window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); + if (!gbBsIE) + window.gPopupWindow.focus(); + + if (wmTemp) + wmTemp.close(); + } + + if (gbBsNS4) + setEventHandle(); + else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) + setTimeout("setPopupFocus();", 100); + } + return; +} + +function setEventHandle() +{ + window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + window.gPopupWindow.onblur = NonIEPopup_HandleBlur; +} + +function setPopupFocus() +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleBlur(e) +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleClick(e) +{ + // Because navigator will give the event to the handler before the hyperlink, let's + // first route the event to see if we are clicking on a Popup menu in a popup. + document.routeEvent(e); + + // If a popup menu is active then don't do anything with the click + if (window.gPopupWindow.gbInPopupMenu) { + window.gPopupWindow.captureEvents(Event.CLICK); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + return false; + } + + // Close the popup window + if(e.target.href) + { + if(e.target.href.indexOf("javascript:")==-1) + { + if (e.target.target=="") + window.location.href = e.target.href; + else + window.open(e.target.href, e.target.target); + this.close(); + } + } + else + this.close(); + return false; +} + +function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (!window.getPopupIFrame(nIndex).document) { + _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); + return; + } + + if (!IsValidToken(nToken)) return; + + if (gbBsNS6) + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + return; + } + + if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && + (window.getPopupIFrame(nIndex).document.body != null)) { + if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } + else + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + } + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } +} + +function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (window.gbPopupTimeoutExpired) return; + + if (!IsValidToken(nToken)) return; + + getPopupDivStyle(nIndex).visibility = gBsStyVisHide; + getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide; + + // Determine the width and height for the window + _BSPSGetClientSize(); + + var size = new BSSCSize(0, 0); + + if (cuswidth <= 0 || cusheight <= 0) + BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + else { + size.x = cuswidth; + size.y = cusheight; + } + + // Determine the width and height for the window + var nWidth = size.x; + var nHeight = size.y; + + // for small popup size, we should allow any size. + // The popup size should be ok if bigger than 0 + if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. + + getPopupDivStyle(nIndex).width = nWidth; + getPopupDivStyle(nIndex).height = nHeight; + + getPopupShadowStyle(nIndex).width = nWidth; + getPopupShadowStyle(nIndex).height = nHeight; + getPopupTopicStyle(nIndex).width = nWidth; + getPopupTopicStyle(nIndex).height = nHeight; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).width = nWidth + 2; + getPopupShadowStyle(nIndex).height = nHeight + 2; + getPopupTopicStyle(nIndex).width = nWidth + 2; + getPopupTopicStyle(nIndex).height = nHeight + 2; + } + + getPopupIFrameStyle(nIndex).width = nWidth; + getPopupIFrameStyle(nIndex).height = nHeight; + if (gbBsIE55 || gbBsNS6) + { + getPopupIFrameStyle(nIndex).top = 0; + getPopupIFrameStyle(nIndex).left = 0; + } + + var strURL = getPopupURL(nIndex); + if (strURL.indexOf("#") != -1&&gbBsNS6) + getPopupIFrame(nIndex).location.reload(); + else if (strURL.indexOf("#") != -1||gbBsNS6) + getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. + + MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); +} + +function getScrollLeft() +{ + if (document.body.scrollLeft) + return document.body.scrollLeft; + else if (window.pageXOffset) + return window.pageXOffset; + else + return 0; +} + +function getScrollTop() +{ + if (document.body.scrollTop) + return document.body.scrollTop; + else if (window.pageYOffset) + return window.pageYOffset; + else + return 0; +} + + +function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) +{ + if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + return; + } + + // Determine the position of the window + var nClickX = window.gnPopupClickX; + var nClickY = window.gnPopupClickY; + var nTop = 0; + var nLeft = 0; + + var nWidth = parseInt(getPopupDivStyle(nIndex).width); + var nHeight = parseInt(getPopupDivStyle(nIndex).height); + + if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) { + nTop = nClickY + 10; + } else { + nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20; + } + if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) { + nLeft = nClickX; + } else { + nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8; + } + + if (nTop < getScrollTop()) nTop = getScrollTop() + 1; + if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1; + + getPopupDivStyle(nIndex).left = nLeft; + getPopupDivStyle(nIndex).top = nTop; + + // Set the location of the background blocks + getPopupShadowStyle(nIndex).left = 6; + getPopupShadowStyle(nIndex).top = 6; + if (gbBsIE55) + { + getPopupShadowStyle(nIndex).left = 4; + getPopupShadowStyle(nIndex).top = 4; + } + + if (gbBsMac&&gbBsIE4) { + // Total hack on the iMac to get the IFrame to position properly + getPopupIFrameStyle(nIndex).pixelLeft = 100; + getPopupIFrameStyle(nIndex).pixelLeft = 0; + // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it + getPopupIFrame(nIndex).window.BSSCOnLoad(); + } + + if (gbBsNS6&&IsDirty(nIndex)) + getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false); + else + BSSCPopup_Timeout(nIndex , nToken ); + return; +} + +function BSSCSize(x, y) +{ + this.x = x; + this.y = y; +} + +function BSSCGetContentSize(thisWindow, size) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4) + return; + + if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) { + size.x = 320; + size.y = 180; + return; + } + + // Resize the width until it is wide enough to handle the content + // The trick is to start wide and determine when the scrollHeight changes + // because then we know a scrollbar is necessary. We can then go back + // to the next widest size (for no scrollbar) + + var ClientRate = gBsClientHeight / gBsClientWidth; + + + var GoldenSize = new BSSCSize(0,0); + GoldenSize.x = gBsClientWidth * gBMaxXOfParent; + GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; + + if (ClientRate > gBRateH_W) { + GoldenSize.y = GoldenSize.x * gBRateH_W; + } + else { + GoldenSize.x = GoldenSize.y / gBRateH_W; + } + + // Try to using parent specified max x. + var x = 0; + var maxgoldx = GoldenSize.x; + var maxx = gBsClientWidth * gBMaxXOfParent; + + // This double resize causes the document to re-render (and we need it to) + if (!gbBsIE5) + thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. + + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + + var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + + if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can + { + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + + miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + maxy = gBsClientHeight * gBMaxYOfParent; + + if (miny > maxy) { // the popup must have a scroll, OK let it be. + miny = maxy; + size.x = maxx; + size.y = maxy; + thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. + } + else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. + size.y = miny; + + // downsize from maxx , now I try to using binary divide. + x = maxx; + deltax = -maxx/2; + //j = 0; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; + thisWindow.document.body.scroll = 'no'; + } + } + else { + if (thisWindow.document.body.scrollWidth > maxgoldx) { + size.x = maxx; + size.y = miny; + thisWindow.document.body.scroll = 'yes'; + } + else { + // downsize from maxgoldx , now I try to using binary divide. + x = maxgoldx; + deltax = -maxgoldx/2; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight ; + thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. + thisWindow.resizeTo(size.x, size.y); + if (thisWindow.document.body.scrollWidth > size.x) + { + size.x = thisWindow.document.body.scrollWidth; + } + if (thisWindow.document.body.scrollHeight > size.y) + { + size.y = thisWindow.document.body.scrollHeight; + } + } + } + thisWindow.resizeTo(size.x, size.y); + thisWindow.resizeTo(size.x, size.y); + return; +} + +function BSSCPopupParentClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; +} + +function isInsideHyperLink(obj) +{ + if (obj&&obj!=getParentNode(obj)) + { + if (obj.tagName=="A"||obj.tagName=="IMG") + return true; + else + return isInsideHyperLink(getParentNode(obj)); + } + else + return false; +} + +function BSSCPopupClicked(e) +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + var popupIFrame = getCurrentPopupIFrame(); + if (popupIFrame == null) { + return true; + } + + if (gbBsIE4 && (!((popupIFrame.window.event != null) && + (popupIFrame.window.event.srcElement != null) && + isInsideHyperLink(popupIFrame.window.event.srcElement)))) { + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } + else if (gbBsNS6 && (!((e != null) && + (e.target!= null) && isInsideHyperLink(e.target)))) + { + document.addEventListener("mousedown", gbOrignalOnMouseDown,false); + // Simply hide the popup + hideAll(); + window.gbPopupTimeoutExpired = false; + return true; + } +} + +//trace the mouse over's position for hotspot +function BSPSPopupOnMouseOver(event) +{ + if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX; + window.gnPopupScreenClickY = event.screenY; + } else if (gbBsSafari) { + window.gnPopupClickX = event.clientX + getScrollLeft(); + window.gnPopupClickY = event.clientY + getScrollTop(); + window.gnPopupScreenClickX = event.screenX + window.screenX; + window.gnPopupScreenClickY = event.screenY + window.screenY; + } else if (gbBsNS4) { + window.gnPopupClickX = event.pageX - window.pageXOffset; + window.gnPopupClickY = event.pageY - window.pageYOffset; + window.gnPopupScreenClickX = event.screenX - window.pageXOffset; + window.gnPopupScreenClickY = event.screenY - window.pageYOffset; + } +} + +function BSSCHidePopupWindow() +{ + if (window.gPopupWindow != null) { + if (gbBsNS4) { + if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { + window.gPopupWindow.close(); + window.gPopupWindow = null; + } + } + } + return; +} + +// Add the PopupOnClick to the onclick array. +if (typeof(BsscRegisterOnClick) != "undefined") +{ + BsscRegisterOnClick(BsPopupOnClick); +} +//End to support previous popup functions + +/// Section End - Popup (JavaScript 1.0) + +/// Section Begin - Embedded Stub (JavaScript 1.0) + +function BSSCCreatePopupDiv() +{ + return; +} + +function WritePopupMenuLayer() +{ + if (BsscHasExtJs()) {_WritePopupMenuLayer();} +} + +function BSSCPopup(strURL, width, height) +{ + var re = new RegExp("'", 'g'); + strURL = strURL.replace(re, "%27"); + + if (BsscHasExtJs()) { + _BSSCPopup(strURL, width, height); + }else{ + //Create a temporary window first to ensure the real popup comes up on top + var wndTemp = null; + if (!gbBsNS3) { + wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); + } + // Create the real popup window + var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); + // Close the temporary + if (!gbBsNS3) { + wndTemp.close(); + } else { + wndPopup.focus(); + } + } +} + +var gbWndTemp = null, gbWndPopupLinks = null; +var gbstrParaTotal = ""; + +function PopupMenu_Invoke() +{ + if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function') + { + if (Number(gsSkinVersion) > 2 && IsFlashSupported()) + { + return wfRelatedTopic(PopupMenu_Invoke.arguments); + } + } + if (BsscHasExtJs()) { + return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); + } + if (gbBsNS3Before || gbBsIE3Before ) { + var argLen = PopupMenu_Invoke.arguments.length; + if (argLen < 5) { + window.document.location.href = PopupMenu_Invoke.arguments[3]; + return false; + } + gbWndTemp = null; + gbWndPopupLinks = null; + gbstrParaTotal = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + var strParaLine = ""; + if (gbBsNS2){ + strParaLine += "" + strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; + strParaLine += ""; + } else { + strParaLine += ""); + if (gbBsNS2) { + gbWndPopupLinks.document.write(""); + } else { + //YJ: IE301,302 and NS3.x works fine + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("script>"); + gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("/script>"); + } + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.write(gbstrParaTotal); + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.close(); + + // Close the temporary + if (!gbBsNS3 && gbWndTemp != null) { + gbWndTemp.close(); + }else { + gbWndPopupLinks.focus(); + } + + return true; + } + return false; +} + +/// Section End - Embedded Stub (JavaScript 1.0) + +//// Segment End -- (JavaScript 1.0) + +//// Segment Begin -- (JavaScript 1.2) +/// Section Begin - kadov DHTM (JavaScript 1.2) + +//Begin to support extended and dropdown text effects. +function kadovIsParagraph(el) +{ + return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; +} + +function kadovInitEachChild(el) +{ + for(var i=0; i "") ) + child.style.setAttribute( "x-on-pageload", "" ); + } + + var href = child.getAttribute("href") + if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) + kadovFilePopupInit(child.id); // Init for Popup + else if( child.className == "dropspot" || child.className == "expandspot" || + child.className == "glossterm" ) + kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text + else if( child.className == "trigger") + kadovInitTrigger(child.id);// Init for Trigger + else + { + kadovInitEffects(child.id);// Init for DHTML effects + CEngine.SetOneTargetInitialState( child.id ); + } + } + + if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) + child.start = "mouseover";// to start a AVI file. fileopen doesn't work + + kadovInitEachChild(child); + } +} + +function kadovRetrieveTextInner(el) +{ + var x = ""; + if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) + return x; + + if( kadovIsParagraph(el) ) + { + var strNewID = " "; + if( el.id != "" ) + strNewID += "id=" + el.id + "_NewSpan "; + x = "" + el.innerHTML + ""; + } + else + { + for(var i=0; i 0 ) + if( (nTagClose - nTagOpen) != nDistance ) + return strRawHTML; + + var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; + return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); +} + +function kadovAdjustObjectTag(strRawHTML, nStartPos) +{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings + + //Is there any DTC? + var strDTCTagOpen = ''; + var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); + if( nDTCTagOpen < 0 ) + return strRawHTML; + var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); + if( nDTCTagClose < nDTCTagOpen) + return strRawHTML; // no Design Time Controls; + + //Is the DTC HTML Help Control? + var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; + var strRTObjTagClose = ''; + var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); + if( nRTObjTagOpen < nDTCTagOpen ) + return strRawHTML; + var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); + if( nRTObjTagClose < nRTObjTagOpen ) + return strRawHTML; // is not a HTML help control + + // Is it a related Topics html help control? + var strRTObjLabel = ''; + } + + // to insert the reconstructed item params into runtime object tag + var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); + return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); +} + +function kadovTextPopupOnLoad( el ) +{ + if( typeof(el) == "string" ) + el = getElement(el); + + var src = el.getAttribute( "x-use-popup" ); + var bNeedMove=true; + if(!src&&el.id) + { + for (var i=0;i"); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + + //work around the bug in HH.exe that highlight the phrases when use Search tab + //this approach is just removing the tag inserted by Microsoft in the runtime + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); + + var strStyle = " style='display:none; position:relative;"; + var newDiv = "
" + strCleanHTML + "
"; + + removeThis(srcDiv); // empty the original DIV tag + var elParentPra = kadovFindParentParagraph(el); + if( elParentPra ) + insertAdjacentHTML(elParentPra, "afterEnd", newDiv ); + } + else if( type == "expanding" ) + { + var inner = kadovRetrieveTextInner(srcDiv); + if( inner == "" ) + inner = srcDiv.innerHTML; + var strAdjust = kadovAdjustObjectTag(inner,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; + var newSpan = ""; + removeThis(srcDiv); // empty the original DIV tag + insertAdjacentHTML(el, "afterEnd", newSpan ); + } + } + } + else + { + srcDiv.style.display = "none"; + } + return 0; +} + +function getElementsByTag(obj,sTagName) +{ + if(obj.getElementsByTagName) + return obj.getElementsByTagName(sTagName); + else if(obj.all) + return obj.all.tags(sTagName); + return null; +} + +function getElement(sID) +{ + if(document.getElementById) + return document.getElementById(sID); + else if(document.all) + return document.all(sID); + return null; +} + +function getParentNode(obj) +{ + if(obj.parentNode) + return obj.parentNode; + else if(obj.parentElement) + return obj.parentElement; + return null; +} + +function getChildNodes(obj) +{ + if(obj.childNodes) + { + var children = new Array(); + for (var i = 0; i < obj.childNodes.length; i++) + { + if (obj.childNodes[i].nodeType == 1) + children[children.length] = obj.childNodes[i]; + } + return children; + } + else if(obj.children) + return obj.children; + return null; +} + +function removeThis(obj) +{ + if(obj.parentNode) + obj.parentNode.removeChild(obj); + else + obj.outerHTML=""; +} + +function kadovTextPopup( el ) +{ + if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 ) + return; + + var bNeedMove=true; + + if (window.event) + window.event.cancelBubble = true; + + if( typeof(el) == "string" ) + el = getElement(el); + + if (!el||el==window) + return; + + var src = el.getAttribute( "x-use-popup" ); + if(!src&&el.id) + { + for (var i=0;i= 0 && nNext < values.length ) + { + functions[nIdx] = values.substr( nStart, nNext-nStart+1); + nStart = nNext + 1; + nIdx++; + nNext = values.indexOf( "\)", nStart); + } + + for( var i=0; i= 0 ) + { + nPageClick = arrForClickCount[j].indexOf("="); + if( nPageClick > 0 ) + { + nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; + break; + } + } + } + var args = srcargs; + if( j < arrForClickCount.length ) + {// to strip out the "clicks=99" from the arguments string + args = ""; + for( var k = 0; k < arrForClickCount.length; k ++ ) + { + if( k != j ) + { + args += arrForClickCount[k]; + if( k < arrForClickCount.length - 1 ) + args += ","; + } + } + } + bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); + } +} + +function kadovTranslateProp( prop ) +{ + switch( prop ) + { + case "x-on-hover" : return "bsschover"; + case "x-on-pageclick" : return "bsscpageclick"; + case "x-on-pageload" : return "bsscpageload"; + case "x-on-trigger-1" : return "bssctrigger1"; + case "x-on-trigger-2" : return "bssctrigger2"; + } + return null; +} +//End to convert iWrite format to RoboEditor Format for DHTML effects + +//Begin the definition of one entry to DHTML effects +function bsscFXInit( trigger_ID, target_ID, event_type, + action_type, action_setting, event_addional ) +{ + if( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || typeof(target_ID) != "string" )//MUST have a target_ID + return; // we don't support Navigator yet + + if( typeof(event_type) == "string" ) + event_type = event_type.toLowerCase(); + if( typeof(action_type) == "string" ) + action_type = action_type.toLowerCase(); + if( typeof(action_setting) == "string" ) + action_setting = action_setting.toLowerCase(); + + // to get the target element then add it to the target list + var eleTarget = CCSSP.GetObject( target_ID ); + if( (eleTarget != null) && (event_type != null) && (action_type != null) ) + { + CEngine.AddOneTarget( target_ID, eleTarget ); + CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); + } + + // to validate the trigger_ID parameter + if( typeof(trigger_ID) == "string" && trigger_ID != "" ) + CEngine.BuildTriggerObject( trigger_ID, target_ID ); +} +//End the definition of one entry to DHTML effects + +/// Section End - kadov DHTM (JavaScript 1.2) + +/// Section Begin - CCSSP DHTM (JavaScript 1.2) + +//Begin JavaScript libary for cross-platform positioning object. +function CCSSP(){} // constructor of CCSSP class + +CCSSP.GetObject = function( obj ) +{//convert object name string or reference into a valid object reference + if( typeof(obj) == "object" ) + return obj; + else if( typeof(obj) == "string" && obj != "") + { + if( gbBsNS4 ) + return eval("document." + obj); + else + return eval("document.all(\"" + obj + "\")"); + } + else + return null; +} + +CCSSP.MoveObjectTo = function(obj, x, y) +{//positioning an object at a specific pixel coordinate + if( gbBsNS4 ) + obj.moveTo(x,y); + else + { + obj.style.pixelLeft = x; + obj.style.pixelTop = y; + } +} + +CCSSP.MoveObjectBy = function(obj, dx, dy) +{//moveing a object by x and/or y pixel + if( gbBsNS4 ) + obj.moveBy(dx,dy); + else + { + obj.style.pixelLeft += dx; + obj.style.pixelTop += dy; + } +} + +CCSSP.SetObjectBGColor = function(obj, color) +{//set the background color of an object + if( gbBsNS4 ) + obj.bgColor = color; + else + obj.style.backgroundColor = color; +} + +CCSSP.ShowObject = function(obj, bShow) +{// set the object to be visible or invisible + if( gbBsNS4 ) + obj.visibility = (bShow == true) ? 'show' : 'hide'; + else + obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. +} + +CCSSP.GetObjectLeft = function(obj) +{// retrieve the x coordinate of a posionable object + if( gbBsNS4 ) + return obj.left; + else + return obj.style.pixelLeft; +} + +CCSSP.GetObjectTop = function(obj) +{// retrieve the y coordinate of a posionable object + if( gbBsNS4 ) + return obj.top; + else + return obj.style.pixelTop; +} + +CCSSP.GetObjectContainLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageX; + else + { + if( obj == document.body ) + return obj.clientLeft; + else + return obj.offsetLeft; + } +} + +CCSSP.GetObjectWindowLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageX; + else + { + var nOffsetWindowLeft = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); + return nOffsetWindowLeft; + } +} + +CCSSP.GetObjectContainTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to it's parent element + if( gbBsNS4 ) + return obj.pageY; + else + { + if( obj == document.body ) + return obj.clientTop; + else + return obj.offsetTop; + } +} + +CCSSP.GetObjectWindowTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to browser window + if( gbBsNS4 ) + return obj.pageY; + else + { + var nOffsetWindowTop = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowTop += CCSSP.GetObjectContainTop(element); + return nOffsetWindowTop; + } +} + +CCSSP.GetObjectHeight = function(obj) +{// retrieve the height of a posionable object + if( gbBsNS4 ) + return obj.clip.height; + else + return obj.offsetHeight; +} + +CCSSP.GetObjectWidth = function(obj) +{// retrieve the width of a posionable object + if( gbBsNS4 ) + return obj.clip.width; + else + return obj.offsetWidth; +} + +CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) +{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined + if (gbBsNS4 && !gbBsNS6) + return ; + + var oldHandler = ""; + + if (gbBsMac &&gbBsIE4&&!gbBsIE5) + { + if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") + { //search for + Gauss Points Viewer + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/gauss_points_viewer_csh.htm b/doc/salome/gui/GAUSS/gauss_points_viewer_csh.htm new file mode 100644 index 00000000..c6162136 --- /dev/null +++ b/doc/salome/gui/GAUSS/gauss_points_viewer_csh.htm @@ -0,0 +1,106 @@ + + +Gauss Points Viewer + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/gauss_points_viewer_rhc.htm b/doc/salome/gui/GAUSS/gauss_points_viewer_rhc.htm new file mode 100644 index 00000000..25bc79e3 --- /dev/null +++ b/doc/salome/gui/GAUSS/gauss_points_viewer_rhc.htm @@ -0,0 +1,106 @@ + + +Gauss Points Viewer + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/general.htm b/doc/salome/gui/GAUSS/general.htm new file mode 100644 index 00000000..4a6d09ed --- /dev/null +++ b/doc/salome/gui/GAUSS/general.htm @@ -0,0 +1,91 @@ + + + + + +Data Loading General + + + + + + + + + + + +

General

+ +

This standard behaviour already exists in Salome and + does not need to be modified here. The objective consists in handling + a Gauss point as an enhancement of the VISU module capabilities.

+ +

 

+ +

We will first briefly remind here how the standard behaviour works. + Secondly, we will explain how Gauss points will be supported.

+ + + + diff --git a/doc/salome/gui/GAUSS/general_navigation_within_the_scene.htm b/doc/salome/gui/GAUSS/general_navigation_within_the_scene.htm new file mode 100644 index 00000000..195c37a4 --- /dev/null +++ b/doc/salome/gui/GAUSS/general_navigation_within_the_scene.htm @@ -0,0 +1,87 @@ + + + + + +General Navigation within the scene + + + + + + + + + + + +

General

+ +

This section describes how to navigate within a 3D graphic + scene using a mouse, the keyboard or a spacemouse. It also describes the + type of movement for a camera to go from one point of view to another + one.

+ + + + diff --git a/doc/salome/gui/GAUSS/general_storage_of_produced_data.htm b/doc/salome/gui/GAUSS/general_storage_of_produced_data.htm new file mode 100644 index 00000000..a58366a5 --- /dev/null +++ b/doc/salome/gui/GAUSS/general_storage_of_produced_data.htm @@ -0,0 +1,158 @@ + + + + + +General Storage of produced data + + + + + + + + + + + +

Saving data

+ +

Information created during a session:

+ +

 

+ +
    + +
  • Cameras

  • + +
  • Configurations

  • +
+ +

 

+ +

have been published within the Study document and are visible in the + tree browser of the Study.

+ +

 

+ +

Salome provides a standard way to store this Study document – Mesh, + Results, Cameras and Segmentation cursors – in the form of an HDF file. + This behaviour will be used without modification.

+ +

 

+ +

The storage of the Study document is accessed from:

+ +

 

+ +
    + +
  • The menu bar: File + ► Save or File ► Save As

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 55 : Salome ‘File’ menu

+ +

 

+ +

The ‘Save’ option automatically updates the file on disk by keeping + its name. When this command is run for the first time on a new document, + then the ‘Save As’ command is executed. The ‘Save As’ command opens a + dialog that allows user:

+ +

 

+ +
    + +
  • To define the location of the file (pathname)

  • + +
  • To rename the file

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 56 : Salome ‘Save As’ dialog

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/image1.gif b/doc/salome/gui/GAUSS/image1.gif new file mode 100644 index 00000000..fcece82f Binary files /dev/null and b/doc/salome/gui/GAUSS/image1.gif differ diff --git a/doc/salome/gui/GAUSS/image10.gif b/doc/salome/gui/GAUSS/image10.gif new file mode 100644 index 00000000..c005ebf1 Binary files /dev/null and b/doc/salome/gui/GAUSS/image10.gif differ diff --git a/doc/salome/gui/GAUSS/image11.gif b/doc/salome/gui/GAUSS/image11.gif new file mode 100644 index 00000000..9db7337d Binary files /dev/null and b/doc/salome/gui/GAUSS/image11.gif differ diff --git a/doc/salome/gui/GAUSS/image12.gif b/doc/salome/gui/GAUSS/image12.gif new file mode 100644 index 00000000..876f656b Binary files /dev/null and b/doc/salome/gui/GAUSS/image12.gif differ diff --git a/doc/salome/gui/GAUSS/image13.gif b/doc/salome/gui/GAUSS/image13.gif new file mode 100644 index 00000000..948e0ab6 Binary files /dev/null and b/doc/salome/gui/GAUSS/image13.gif differ diff --git a/doc/salome/gui/GAUSS/image28.gif b/doc/salome/gui/GAUSS/image28.gif new file mode 100644 index 00000000..cac7cd75 Binary files /dev/null and b/doc/salome/gui/GAUSS/image28.gif differ diff --git a/doc/salome/gui/GAUSS/image29.gif b/doc/salome/gui/GAUSS/image29.gif new file mode 100644 index 00000000..5aa238a0 Binary files /dev/null and b/doc/salome/gui/GAUSS/image29.gif differ diff --git a/doc/salome/gui/GAUSS/image3.gif b/doc/salome/gui/GAUSS/image3.gif new file mode 100644 index 00000000..2d37f243 Binary files /dev/null and b/doc/salome/gui/GAUSS/image3.gif differ diff --git a/doc/salome/gui/GAUSS/image30.gif b/doc/salome/gui/GAUSS/image30.gif new file mode 100644 index 00000000..f78b7c2b Binary files /dev/null and b/doc/salome/gui/GAUSS/image30.gif differ diff --git a/doc/salome/gui/GAUSS/image31.gif b/doc/salome/gui/GAUSS/image31.gif new file mode 100644 index 00000000..440dd6e7 Binary files /dev/null and b/doc/salome/gui/GAUSS/image31.gif differ diff --git a/doc/salome/gui/GAUSS/image32.gif b/doc/salome/gui/GAUSS/image32.gif new file mode 100644 index 00000000..ac13a4fd Binary files /dev/null and b/doc/salome/gui/GAUSS/image32.gif differ diff --git a/doc/salome/gui/GAUSS/image33.gif b/doc/salome/gui/GAUSS/image33.gif new file mode 100644 index 00000000..a2eedf5b Binary files /dev/null and b/doc/salome/gui/GAUSS/image33.gif differ diff --git a/doc/salome/gui/GAUSS/image34.gif b/doc/salome/gui/GAUSS/image34.gif new file mode 100644 index 00000000..dbdc5a19 Binary files /dev/null and b/doc/salome/gui/GAUSS/image34.gif differ diff --git a/doc/salome/gui/GAUSS/image35.gif b/doc/salome/gui/GAUSS/image35.gif new file mode 100644 index 00000000..c9f1f553 Binary files /dev/null and b/doc/salome/gui/GAUSS/image35.gif differ diff --git a/doc/salome/gui/GAUSS/image36.gif b/doc/salome/gui/GAUSS/image36.gif new file mode 100644 index 00000000..5673d522 Binary files /dev/null and b/doc/salome/gui/GAUSS/image36.gif differ diff --git a/doc/salome/gui/GAUSS/image37.gif b/doc/salome/gui/GAUSS/image37.gif new file mode 100644 index 00000000..05d9f982 Binary files /dev/null and b/doc/salome/gui/GAUSS/image37.gif differ diff --git a/doc/salome/gui/GAUSS/image38.gif b/doc/salome/gui/GAUSS/image38.gif new file mode 100644 index 00000000..eb7faa5b Binary files /dev/null and b/doc/salome/gui/GAUSS/image38.gif differ diff --git a/doc/salome/gui/GAUSS/image39.gif b/doc/salome/gui/GAUSS/image39.gif new file mode 100644 index 00000000..d4ea9a7f Binary files /dev/null and b/doc/salome/gui/GAUSS/image39.gif differ diff --git a/doc/salome/gui/GAUSS/image4.gif b/doc/salome/gui/GAUSS/image4.gif new file mode 100644 index 00000000..87712a2d Binary files /dev/null and b/doc/salome/gui/GAUSS/image4.gif differ diff --git a/doc/salome/gui/GAUSS/image40.gif b/doc/salome/gui/GAUSS/image40.gif new file mode 100644 index 00000000..2dc41a97 Binary files /dev/null and b/doc/salome/gui/GAUSS/image40.gif differ diff --git a/doc/salome/gui/GAUSS/image41.gif b/doc/salome/gui/GAUSS/image41.gif new file mode 100644 index 00000000..7bd333a5 Binary files /dev/null and b/doc/salome/gui/GAUSS/image41.gif differ diff --git a/doc/salome/gui/GAUSS/image42.gif b/doc/salome/gui/GAUSS/image42.gif new file mode 100644 index 00000000..79395f6c Binary files /dev/null and b/doc/salome/gui/GAUSS/image42.gif differ diff --git a/doc/salome/gui/GAUSS/image45.gif b/doc/salome/gui/GAUSS/image45.gif new file mode 100644 index 00000000..d96fcb10 Binary files /dev/null and b/doc/salome/gui/GAUSS/image45.gif differ diff --git a/doc/salome/gui/GAUSS/image46.gif b/doc/salome/gui/GAUSS/image46.gif new file mode 100644 index 00000000..0fe311c4 Binary files /dev/null and b/doc/salome/gui/GAUSS/image46.gif differ diff --git a/doc/salome/gui/GAUSS/image47.gif b/doc/salome/gui/GAUSS/image47.gif new file mode 100644 index 00000000..57011e06 Binary files /dev/null and b/doc/salome/gui/GAUSS/image47.gif differ diff --git a/doc/salome/gui/GAUSS/image48.gif b/doc/salome/gui/GAUSS/image48.gif new file mode 100644 index 00000000..4733090c Binary files /dev/null and b/doc/salome/gui/GAUSS/image48.gif differ diff --git a/doc/salome/gui/GAUSS/image49.gif b/doc/salome/gui/GAUSS/image49.gif new file mode 100644 index 00000000..94df6479 Binary files /dev/null and b/doc/salome/gui/GAUSS/image49.gif differ diff --git a/doc/salome/gui/GAUSS/image5.gif b/doc/salome/gui/GAUSS/image5.gif new file mode 100644 index 00000000..55cb8f43 Binary files /dev/null and b/doc/salome/gui/GAUSS/image5.gif differ diff --git a/doc/salome/gui/GAUSS/image50.gif b/doc/salome/gui/GAUSS/image50.gif new file mode 100644 index 00000000..d86bc15f Binary files /dev/null and b/doc/salome/gui/GAUSS/image50.gif differ diff --git a/doc/salome/gui/GAUSS/image51.gif b/doc/salome/gui/GAUSS/image51.gif new file mode 100644 index 00000000..e568a49d Binary files /dev/null and b/doc/salome/gui/GAUSS/image51.gif differ diff --git a/doc/salome/gui/GAUSS/image52.gif b/doc/salome/gui/GAUSS/image52.gif new file mode 100644 index 00000000..d3764072 Binary files /dev/null and b/doc/salome/gui/GAUSS/image52.gif differ diff --git a/doc/salome/gui/GAUSS/image53.gif b/doc/salome/gui/GAUSS/image53.gif new file mode 100644 index 00000000..139f9ee0 Binary files /dev/null and b/doc/salome/gui/GAUSS/image53.gif differ diff --git a/doc/salome/gui/GAUSS/image54.gif b/doc/salome/gui/GAUSS/image54.gif new file mode 100644 index 00000000..7391fddd Binary files /dev/null and b/doc/salome/gui/GAUSS/image54.gif differ diff --git a/doc/salome/gui/GAUSS/image55.gif b/doc/salome/gui/GAUSS/image55.gif new file mode 100644 index 00000000..f11da801 Binary files /dev/null and b/doc/salome/gui/GAUSS/image55.gif differ diff --git a/doc/salome/gui/GAUSS/image56.gif b/doc/salome/gui/GAUSS/image56.gif new file mode 100644 index 00000000..3249022f Binary files /dev/null and b/doc/salome/gui/GAUSS/image56.gif differ diff --git a/doc/salome/gui/GAUSS/image57.gif b/doc/salome/gui/GAUSS/image57.gif new file mode 100644 index 00000000..8feab1b2 Binary files /dev/null and b/doc/salome/gui/GAUSS/image57.gif differ diff --git a/doc/salome/gui/GAUSS/image58.gif b/doc/salome/gui/GAUSS/image58.gif new file mode 100644 index 00000000..0acbd99d Binary files /dev/null and b/doc/salome/gui/GAUSS/image58.gif differ diff --git a/doc/salome/gui/GAUSS/image59.gif b/doc/salome/gui/GAUSS/image59.gif new file mode 100644 index 00000000..72ff634c Binary files /dev/null and b/doc/salome/gui/GAUSS/image59.gif differ diff --git a/doc/salome/gui/GAUSS/image6.gif b/doc/salome/gui/GAUSS/image6.gif new file mode 100644 index 00000000..79395f6c Binary files /dev/null and b/doc/salome/gui/GAUSS/image6.gif differ diff --git a/doc/salome/gui/GAUSS/image60.gif b/doc/salome/gui/GAUSS/image60.gif new file mode 100644 index 00000000..e5d60d70 Binary files /dev/null and b/doc/salome/gui/GAUSS/image60.gif differ diff --git a/doc/salome/gui/GAUSS/image61.gif b/doc/salome/gui/GAUSS/image61.gif new file mode 100644 index 00000000..a6ae4a1e Binary files /dev/null and b/doc/salome/gui/GAUSS/image61.gif differ diff --git a/doc/salome/gui/GAUSS/image62.gif b/doc/salome/gui/GAUSS/image62.gif new file mode 100644 index 00000000..841037e5 Binary files /dev/null and b/doc/salome/gui/GAUSS/image62.gif differ diff --git a/doc/salome/gui/GAUSS/image63.gif b/doc/salome/gui/GAUSS/image63.gif new file mode 100644 index 00000000..cd17deab Binary files /dev/null and b/doc/salome/gui/GAUSS/image63.gif differ diff --git a/doc/salome/gui/GAUSS/image64.gif b/doc/salome/gui/GAUSS/image64.gif new file mode 100644 index 00000000..6725916b Binary files /dev/null and b/doc/salome/gui/GAUSS/image64.gif differ diff --git a/doc/salome/gui/GAUSS/image65.gif b/doc/salome/gui/GAUSS/image65.gif new file mode 100644 index 00000000..e32c3ba2 Binary files /dev/null and b/doc/salome/gui/GAUSS/image65.gif differ diff --git a/doc/salome/gui/GAUSS/image66.gif b/doc/salome/gui/GAUSS/image66.gif new file mode 100644 index 00000000..afbb92e0 Binary files /dev/null and b/doc/salome/gui/GAUSS/image66.gif differ diff --git a/doc/salome/gui/GAUSS/image67.gif b/doc/salome/gui/GAUSS/image67.gif new file mode 100644 index 00000000..78aa93fb Binary files /dev/null and b/doc/salome/gui/GAUSS/image67.gif differ diff --git a/doc/salome/gui/GAUSS/image68.gif b/doc/salome/gui/GAUSS/image68.gif new file mode 100644 index 00000000..a6f59871 Binary files /dev/null and b/doc/salome/gui/GAUSS/image68.gif differ diff --git a/doc/salome/gui/GAUSS/image69.gif b/doc/salome/gui/GAUSS/image69.gif new file mode 100644 index 00000000..36f57602 Binary files /dev/null and b/doc/salome/gui/GAUSS/image69.gif differ diff --git a/doc/salome/gui/GAUSS/image7.gif b/doc/salome/gui/GAUSS/image7.gif new file mode 100644 index 00000000..918e9fd2 Binary files /dev/null and b/doc/salome/gui/GAUSS/image7.gif differ diff --git a/doc/salome/gui/GAUSS/image70.gif b/doc/salome/gui/GAUSS/image70.gif new file mode 100644 index 00000000..0bdda8d6 Binary files /dev/null and b/doc/salome/gui/GAUSS/image70.gif differ diff --git a/doc/salome/gui/GAUSS/image71.gif b/doc/salome/gui/GAUSS/image71.gif new file mode 100644 index 00000000..b7bea0d5 Binary files /dev/null and b/doc/salome/gui/GAUSS/image71.gif differ diff --git a/doc/salome/gui/GAUSS/image72.gif b/doc/salome/gui/GAUSS/image72.gif new file mode 100644 index 00000000..ab11729f Binary files /dev/null and b/doc/salome/gui/GAUSS/image72.gif differ diff --git a/doc/salome/gui/GAUSS/image73.gif b/doc/salome/gui/GAUSS/image73.gif new file mode 100644 index 00000000..39dca9ce Binary files /dev/null and b/doc/salome/gui/GAUSS/image73.gif differ diff --git a/doc/salome/gui/GAUSS/image74.gif b/doc/salome/gui/GAUSS/image74.gif new file mode 100644 index 00000000..85713fae Binary files /dev/null and b/doc/salome/gui/GAUSS/image74.gif differ diff --git a/doc/salome/gui/GAUSS/image75.gif b/doc/salome/gui/GAUSS/image75.gif new file mode 100644 index 00000000..5ba8835c Binary files /dev/null and b/doc/salome/gui/GAUSS/image75.gif differ diff --git a/doc/salome/gui/GAUSS/image76.gif b/doc/salome/gui/GAUSS/image76.gif new file mode 100644 index 00000000..79395f6c Binary files /dev/null and b/doc/salome/gui/GAUSS/image76.gif differ diff --git a/doc/salome/gui/GAUSS/image77.gif b/doc/salome/gui/GAUSS/image77.gif new file mode 100644 index 00000000..f9a9eb65 Binary files /dev/null and b/doc/salome/gui/GAUSS/image77.gif differ diff --git a/doc/salome/gui/GAUSS/image78.gif b/doc/salome/gui/GAUSS/image78.gif new file mode 100644 index 00000000..2b643818 Binary files /dev/null and b/doc/salome/gui/GAUSS/image78.gif differ diff --git a/doc/salome/gui/GAUSS/image79.gif b/doc/salome/gui/GAUSS/image79.gif new file mode 100644 index 00000000..23fc83b0 Binary files /dev/null and b/doc/salome/gui/GAUSS/image79.gif differ diff --git a/doc/salome/gui/GAUSS/image8.gif b/doc/salome/gui/GAUSS/image8.gif new file mode 100644 index 00000000..44853277 Binary files /dev/null and b/doc/salome/gui/GAUSS/image8.gif differ diff --git a/doc/salome/gui/GAUSS/image80.gif b/doc/salome/gui/GAUSS/image80.gif new file mode 100644 index 00000000..441197f2 Binary files /dev/null and b/doc/salome/gui/GAUSS/image80.gif differ diff --git a/doc/salome/gui/GAUSS/image81.gif b/doc/salome/gui/GAUSS/image81.gif new file mode 100644 index 00000000..ae508b42 Binary files /dev/null and b/doc/salome/gui/GAUSS/image81.gif differ diff --git a/doc/salome/gui/GAUSS/image82.gif b/doc/salome/gui/GAUSS/image82.gif new file mode 100644 index 00000000..e9a0d679 Binary files /dev/null and b/doc/salome/gui/GAUSS/image82.gif differ diff --git a/doc/salome/gui/GAUSS/image9.gif b/doc/salome/gui/GAUSS/image9.gif new file mode 100644 index 00000000..80a7fd8d Binary files /dev/null and b/doc/salome/gui/GAUSS/image9.gif differ diff --git a/doc/salome/gui/GAUSS/index.htm b/doc/salome/gui/GAUSS/index.htm new file mode 100644 index 00000000..bc365dfb --- /dev/null +++ b/doc/salome/gui/GAUSS/index.htm @@ -0,0 +1,86 @@ + + + + + +Introduction + + + + + + + + + + + +

Introduction

+ +

This documentation describes the graphical user interface + – GUI – for each functionality concerned by the Code_Aster data viewer + at Gauss points in Salome.

+ + + + diff --git a/doc/salome/gui/GAUSS/info_blue.jpg b/doc/salome/gui/GAUSS/info_blue.jpg new file mode 100644 index 00000000..5a58a705 Binary files /dev/null and b/doc/salome/gui/GAUSS/info_blue.jpg differ diff --git a/doc/salome/gui/GAUSS/loading_of_previously_saved_data.htm b/doc/salome/gui/GAUSS/loading_of_previously_saved_data.htm new file mode 100644 index 00000000..e5b04fb9 --- /dev/null +++ b/doc/salome/gui/GAUSS/loading_of_previously_saved_data.htm @@ -0,0 +1,118 @@ + + + + + +Loading of previously saved data + + + + + + + + + + + +

Loading previously saved data

+ +

Mutually, Salome provides an open command from:

+ +

 

+ +
    + +
  • The menu bar: + File ► Open

  • +
+ +

 

+ +

It opens up a dialog to browse the directory structure and to select + an HDF Study file.

+ +

 

+ +

+ +

 

+ +

Fig. 57 : Salome ‘Open’ dialog

+ +

 

+ +

Once selected, user presses the ‘Open’ button to load the Study in the + Salome session.

+ +

A new document is created and the Study is loaded within this clear + document.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/managing_configurations.htm b/doc/salome/gui/GAUSS/managing_configurations.htm new file mode 100644 index 00000000..5aa3351c --- /dev/null +++ b/doc/salome/gui/GAUSS/managing_configurations.htm @@ -0,0 +1,258 @@ + + + + + +Managing configurations + + + + + + + + + + + +

Managing configurations

+ +

A new command is introduced, in the frame of this project, + to allow the user to memorize the current configuration and to be able + to restore it later on, even in another session.

+ +

 

+ +
    + +
  • From a 3D view, the popup menu proposes to ‘Store current configuration’.

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 37 : 3D View popup menu

+ +

 

+ +

If not already existing, this action creates a new entry ‘Configurations’, + as a child of root ‘Post-Pro’ + node, in the tree browser of the study to store all current parameters.

+ +

 

+ +

Then a new child is added, with an automatic name in the form of ‘Config:X’ where X is an incremental + integer. All parameters of the current configuration are stored at this + node

+ +

 

+ +
    + +
  • Camera:

  • + +
      + +
    • Position

    • + +
    • View point

    • + +
    • Focal distance

    • +
    + +
  • Segmentation cursor: (if defined – see §7)

  • + +
      + +
    • Origin

    • + +
    • Direction

    • + +
    • Depth

    • +
    + +
  • All presentations that are displayed in the 3D + view

  • + +
  • Current selected point (if defined – see §6 – + picking command)

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 38 : Study browser with ‘Configurations’ node

+ +

 

+ +

This new ‘Configurations’ node will be stored (resp. retrieved) within + (from) the Study document by the use of standard SALOMEDS attribute. Persistence + will be managed in the same way as for Cameras.

+ +

 

+ +

Note:

+ +

Configurations are independent + from Segmentation cursors and Cameras. Therefore, applying a registered + configuration will apply configuration parameters in terms of Camera, + Segmentation cursor and Gauss point presentation. From this time, user + can freely navigate within the browser to display another timestamp or + variable. The view will be updated accordingly without changing the Camera + and the Segmentation cursor. This navigation within the tree will also + not affect the registered parameters of the configuration until user decides + to store them.

+ +

 

+ +

Edition of this last item – ‘Config:X’ + – through a right-mouse button click opens the following popup menu:

+ +

 

+ +

+ +

 

+ +

Fig. 39 : ‘Config’ entry popup menu

+ +

 

+ + + +++ + + + + + + + + + + + + + + + + + + + + +
+

Command

+

Purpose

+

Rename

+

Allows the user to redefine the name of the element. A standard dialog + in Salome is opened to realize the input.

+

Edit / Apply

+

Restore all registered parameters: camera and presentations in the current + main 3D view.

+

If a cursor is stored, then the ‘Segmentation’ command (see §7) is activated + with the cursor parameters defined in the configuration (open a segmentation + viewer and display the segmentation dialog box for edition).

+

If a selection is active, then the ‘Picking’ command (see §6) is activated + and the selected point defined in the configuration is highlighted.

+

Erase

+

Erase the elements from the 3D view.

+

Delete

+

Erase the elements from the 3D view and remove it from the study browser.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/navigation_using_the_keyboard.htm b/doc/salome/gui/GAUSS/navigation_using_the_keyboard.htm new file mode 100644 index 00000000..c6e990a6 --- /dev/null +++ b/doc/salome/gui/GAUSS/navigation_using_the_keyboard.htm @@ -0,0 +1,177 @@ + + + + + +Navigation using the keyboard + + + + + + + + + + + +

Navigation using the keyboard

+ +

Salome does not provide any + way to navigate within the scene using certain keys of the keyboard. Thus + the following actions will be created.

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Key

+

Movement

+

Dynamic rotation

+

[CTRL] key +

+

[ ], [ ],

+

[ ], [ ]

+

Rotation centred on the focal point

+

Dynamic panning

+

[ ], [ ],

+

[ ], [ ]

+

+

Translation in any direction

+

Dynamic zoom

+

[PageUp],

+

[PageDn]

+

  Increase + or decrease the zoom ratio

+

Speed increment

+

[ + ],

+

[ - ]

+

Increase (resp. decrease) by 1 the speed increment used for the movement + previously defined

+ +

 

+ +
    + +
  • This support will be active at any time during + a VISU session.

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/navigation_using_the_mouse.htm b/doc/salome/gui/GAUSS/navigation_using_the_mouse.htm new file mode 100644 index 00000000..33be58ec --- /dev/null +++ b/doc/salome/gui/GAUSS/navigation_using_the_mouse.htm @@ -0,0 +1,230 @@ + + + + + +Navigation using the mouse + + + + + + + + + + + +

Navigation using the mouse

+ +

To simplify the explanation of actions connected to the + mouse, we define the following conventions:

+ +

 

+ +

+ +

 

+ +

Fig. 32 : Mouse buttons convention

+ +

 

+ +

Salome standard

+ +

The mouse is supported as a standard pointer in Salome. Default actions, + for a 3 mouse buttons are connected as follows:

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Command

+

Movement

+

Dynamic rotation

+

[CTRL] key + MB3

+

Rotation centred on the focal point

+

Dynamic panning

+

[CTRL] key + MB2

+

+

Translation in any direction

+

Dynamic zoom

+

[CTRL] key + MB1

+

 Increase + or decrease the zoom ratio

+ +

 

+ +

New capability

+ +

A new connectivity free + of extra keyboard keys is introduced in the frame of this project + and will be defined as ‘Mouse only’ convention:

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Command

+

Movement

+

Dynamic rotation

+

MB1

+

Rotation centred on the focal point

+

Dynamic panning

+

MB2

+

+

Translation in any direction

+

Dynamic zoom

+

MB1 + MB2

+

 Increase + or decrease the zoom ratio

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/navigation_using_the_spacemouse.htm b/doc/salome/gui/GAUSS/navigation_using_the_spacemouse.htm new file mode 100644 index 00000000..465c650f --- /dev/null +++ b/doc/salome/gui/GAUSS/navigation_using_the_spacemouse.htm @@ -0,0 +1,272 @@ + + + + + +Navigation using the spacemouse + + + + + + + + + + + +

Navigation using the spacemouse

+ +

Salome does not provide any way to navigate within the + scene using a spacemouse. Thus the support of this new pointer will be + added and managed as defined below.

+ +

 

+ +

The spacemouse introduces a local coordinate system, and 6 degrees of + freedom, which are independent from the 3D view coordinate system. They + are defined as follows:

+ +

 

+ +

+ +

 

+ +

Fig. 33 : Spacemouse local co-ordinate system

+ +

 

+ +

Move 3D models and scenes on screen based on the corresponding direction + the user moves the cap on the controller.

+ +

The commands available using the spacemouse are then defined as follows:

+ +

 

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Move

+

Description

+

Dynamic rotation

+

+

Tilt the controller head left + and right or forward and backward to rotate accordingly (X-Z axis).

+

 

+

Note: + Left/right capability will be disabled.

+

+

Twist clockwise and counterclockwise + to rotate the model accordingly (Y-axis)

+

Dynamic panning

+

+

Pull up and + push down to move the model up and down.

+

Move left and right + to move the model left and right.

+

Dynamic zoom

+

+

Push forward or pull + backwards to respectively decrease or increase the zoom ratio.

+ +

 

+ +
    + +
  • This support will be active at any time during + a VISU session.

  • +
+ +

 

+ +

Buttons of the spacemouse are also used to change the magnification + for Gauss points:

+ +

 

+ +

+ +

 

+ +

Fig. 34 : Spacemouse buttons control

+ +

 

+ +

By default, buttons are defined as follow, but user can change them + in the preferences:

+ +

 

+ + + +++ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Button

+

Description

+

Button 1

+

Decrease by 1 the speed increment used for the keyboard (same as [-] + key)

+

Button 2

+

Increase by 1 the speed increment used for the keyboard (same as [+] + key)

+

Button 10

+

Divide the current magnification by the magnification ratio

+

Button 11

+

Multiply the current magnification by the magnification ratio

+

Button Star

+

Toggle button to switch to dominant or combined movements

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/picking_general.htm b/doc/salome/gui/GAUSS/picking_general.htm new file mode 100644 index 00000000..2f8df66c --- /dev/null +++ b/doc/salome/gui/GAUSS/picking_general.htm @@ -0,0 +1,163 @@ + + + + + +Picking General + + + + + + + + + + + +

General

+ +

The existing picking functionality in Salome is available + on both meshes element and time stamps. It can be activated either from:

+ +

 

+ +
    + +
  • The menu bar: Selection + ► Selection Info

  • + +
  • The popup menu opened on a time stamp of the browser + (see 4.2.9), item ‘Selection Info’

  • + +
  • The popup menu opened on a presentation in the + 3D view, item ‘Selection Info’

  • +
+ +

 

+ +

All these actions open a dialog box that drives the functionality.

+ +

 

+ +

+ +

 

+ +

Fig. 42 : Standard Salome picking on a field

+ +

 

+ +

The dialog allows user to graphically select an element and displays + its corresponding information.

+ +

 

+ +

+ +

 

+ +

Fig. 43 : Standard Salome picking on a mesh

+ +

 

+ +

Selection is possible on:

+ +

 

+ +
    + +
  • Mesh element: node, edge, face and volume

  • + +
  • Fields elements: cell, edge of cell

  • + +
  • Graphic presentation of an object (actor)

  • +
+ +

 

+ +

When moving the mouse in the graphic area, any suitable element – that + is, corresponding to the defined ‘filter’ – is pre-highlighted (or detected) + and displayed in shading for more convenience to the end user. When user + presses the left-mouse button to select the detected element, it is redisplayed + in another color, and the information related to the selection is refreshed + in the dialog box, in the form of an array of data.

+ +

 

+ +

Since this behaviour does not fully correspond to EDF expectation, the + picking function for results at Gauss + point and Gauss point (geometry) + will be redefined as described in the following paragraphs.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/purple_right_sm.jpg b/doc/salome/gui/GAUSS/purple_right_sm.jpg new file mode 100644 index 00000000..cef046c9 Binary files /dev/null and b/doc/salome/gui/GAUSS/purple_right_sm.jpg differ diff --git a/doc/salome/gui/GAUSS/robohhre.lng b/doc/salome/gui/GAUSS/robohhre.lng new file mode 100644 index 00000000..297538b0 --- /dev/null +++ b/doc/salome/gui/GAUSS/robohhre.lng @@ -0,0 +1,101 @@ +[GlossaryTab] +TabCaption=&Glossary +TermCaption=&Term +DefinitionCaption=&Definition For: + +[BrowseSequence] +PreCaption=Previous +PreTooltip=Previous Topic +NextCaption=Next +NextTooltip=Next Topic +BlockTooltip=Select Block + +[Common] +Contents=Contents +Index=Index +Search=Search +Glossary=Glossary +Logo/Author=Powered By +Show=Show +Hide=Hide +SyncToc=SyncToc +Prev=<< +Next=>> +Disabled Prev=<< +Disabled Next=>> +Seperate = | + +[WebHelp] +Cancel=Cancel +CantOpenURLorFile=Can't open URL or file +CompletingContents=Completing Contents... +Display=Display +Term=Term: +Definition=Definition: +Done=Done +Find=Find +IndexInputPrompt=Type in the keyword to find: +RelateTopicListPrompt=Click a topic, then click Display. +LoadingData=Loading data, please wait... +LoadingContents=Loading contents, please wait... +LoadingContentsData=Loading, click here to cancel... +LoadingFTS=Reading Search Data... +LoadingIndex=Loading Index... +LoadingTOCItem=Loading Table of Contents: +Searching=Searching... +FtsInputPrompt=Type in the word(s) to search for: +TopicsFound=Topics Found +BrowserLimitedMessage=Your browser does not support frames. We recommend that you update your browser to a version that supports frames. +SuggestViewNoFrameMessage=To view the Help system without frames click on this +SuggestViewNoFrameMsg2=hyperlink. +TopicsNotFound=No Topics Found. +CantSearch=Cannot search for that phrase. +JS_alert_appletNotLoad = Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited. +JS_alert_colorlimitation=WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors. +Blank_topic_text=This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink. +JS_alert_ProjectLoadingFail=Could not load correctly, please click Refresh. +JS_alert_cantLoadProject=Can't load project: +JS_alert_ErrorInLoading=Error in Loading navigation component. Please regenerate WebHelp. +IndexBtnText=Go +FtsBtnText=Go +ToolBarSearchBtnText=Go +InTopicSearchBtnText=Go +SearchLabel=Search +SearchPrompt=- Search - +PreTooltip=Previous Topic +NextTooltip=Next Topic +WebSearch=WebSearch +SyncTocTooltip=Sync TOC +Book=Book +Page=Page +Remote_Page=Remote Page +Show_Navigation_Component=Show Navigation Component +Hide_Navigation_Component=Hide Navigation Component +nls_edit_label=Type in your question: +nls_button_go_hint=Go Search +nls_button_go_text=Go +nls_body_instruction=Enter your question in the text box above, then click GO. +nls_body_empty=Sorry, we were unable to find a good answer for your question. +IndexSelectTopicTitle=Select a Topic +IndexSelectTopicLabel=Select a topic, then click Display +IndexSelectTopicError=Please select a topic. +IndexAlphabetBookmarks=ABCDEFGHIJKLMNOPQRSTUVWXYZ +MergeError1=The merged Help system +MergeError2=is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system. +PoweredBy=Powered by +GeneratedBy=Generated by +Author=Author +About=About +Print=Print + +[PrintedDoc] +TableOfContents=Table Of Contents +TitlePage=Title Page +ChapterFileNamePrefix=Chapter_ +TitlePageFileName=Chapter__Title_Page.doc +CrossReferencePrefix=See +GlossaryHeadingStyleName=Glossary Heading +GlossaryTermStyleName=Glossary Term +GlossaryDefinitionStyleName=Glossary Definition +TitlePageTitleStyleName=Title Page Title +TocPageTitleStyleName=Table of Contents Page Title diff --git a/doc/salome/gui/GAUSS/salome-visu_preferences_display_results.htm b/doc/salome/gui/GAUSS/salome-visu_preferences_display_results.htm new file mode 100644 index 00000000..3d88d4fa --- /dev/null +++ b/doc/salome/gui/GAUSS/salome-visu_preferences_display_results.htm @@ -0,0 +1,135 @@ + + + + + +SALOME-VISU preferences display results + + + + + + + + + + + +

SALOME-VISU preferences

+ +

VISU defines a few additional parameters to define default + display modes.

+ +

 

+ +

Commands are defined in the ‘Preferences + ► Post-pro’ menu of the + VISU module:

+ +

 

+ +
    + +
  • Post-pro ► + Scalar Bar    Displays + a dialog to customize default scalar bar presentation

  • + +
  • Post-pro ► + Sweeping     Displays + a dialog to customize default sweeping parameters

  • +
+ +

 

+ +

New options will be added to refine default mode applicable for results + at Gauss points:

+ +

 

+ +
    + +
  • Post-pro ► + Gauss Points ► Primitive  Displays a dialog + to customize default display mode for results at Gauss points. It is the + same dialog as the one defined on Fig. 24 : Results at Gauss points primitive + configuration dialog.

  • +
+ +

 

+ +
    + +
  • Post-pro ► + Gauss Points ► Scalar Bar  Displays a dialog + to customize default parameters for scalar bars used for display of results + at Gauss points. It is the same dialog as the one defined on Fig. 26 : + Scalar bar configuration

  • +
+ + + + diff --git a/doc/salome/gui/GAUSS/salome_visu_preferences.htm b/doc/salome/gui/GAUSS/salome_visu_preferences.htm new file mode 100644 index 00000000..63b35208 --- /dev/null +++ b/doc/salome/gui/GAUSS/salome_visu_preferences.htm @@ -0,0 +1,109 @@ + + + + + +SALOME-VISU preferences + + + + + + + + + + + +

Salome-Visu preferences

+ +

VISU defines a few additional parameters to define default + parameters.

+ +

 

+ +

The command is defined in the ‘Preferences + ► Post-pro’ menu of VISU module:

+ +

 

+ +

Click Post-pro ► Full MED loading + Toggle option: load + MED file at once or when needed

+ +

 

+ +

When this option is checked, the MED file is fully loaded in the study, + so that no additional physical access to the MED file are needed to go + on the session.

+ +

 

+ +

Reversibly, when unchecked, the MED file is loaded on demand. This is + the default behaviour in SALOME and recommended for big files to optimize + memory usage.

+ + + + diff --git a/doc/salome/gui/GAUSS/salome_visu_preferences_navigation_within_the_scene.htm b/doc/salome/gui/GAUSS/salome_visu_preferences_navigation_within_the_scene.htm new file mode 100644 index 00000000..260c8601 --- /dev/null +++ b/doc/salome/gui/GAUSS/salome_visu_preferences_navigation_within_the_scene.htm @@ -0,0 +1,191 @@ + + + + + +Salome-Visu preferences Navigation within the scene + + + + + + + + + + + +

Salome-Visu preferences

+ +

The VISU preferences are modified as follow:

+ +

 

+ +
    + +
  • Post-pro ► + Navigation ► Pointer    Displays + a dialog to configure the pointer to use.

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 40 : Navigation pointers configuration dialog

+ +

 

+ +
    + +
  • Mouse: + allows defining type of navigation provided by the mouse.

  • + +
      + +
    • Salome Standard (default)

    • + +
    • Keyboard free

    • +
    +
+ +

 

+ +
    + +
  • Keyboard: + defines the value of the increment applied when user uses keyboard keys + to navigate within the 3D scene. Only one value is defined for all kind + of movement.

  • + +
      + +
    • Translation (panning): value understood in + millimetres.

    • + +
    • Rotation: value understood in degrees.

    • + +
    • Zoom: value understood in millimetres (focal + distance).

    • +
    +
+ +

 

+ +
    + +
  • Spacemouse: + defines buttons for:

  • + +
      + +
    • Changing the speed increment when keyboard + navigation is used

    • + +
    • Changing the Gauss points magnification

    • + +
    • Filter the spacemouse movement (dominant or + combined)

    • +
    +
+ +

 

+ +

Choose Post-pro ► Navigation + ► Camera movement    Displays + a dialog to customize the displacement between 2 cameras.

+ +

 

+ +

+ +

 

+ +

Fig. 41 : Camera movement configuration dialog

+ +

 

+ +
    + +
  • Angular step: + allows user to define the angular step (in degree – 2 by default) used + to compute the number of intermediary positions for the camera during + a move (this number of intermediary positions corresponds to the parameter + to give to vtkRenderWindowInteractor::FlyTo() VTK function).

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/salome_visu_preferences_picking.htm b/doc/salome/gui/GAUSS/salome_visu_preferences_picking.htm new file mode 100644 index 00000000..f16a7bea --- /dev/null +++ b/doc/salome/gui/GAUSS/salome_visu_preferences_picking.htm @@ -0,0 +1,178 @@ + + + + + +Salome-Visu preferences picking + + + + + + + + + + + +

Salome-Visu preferences

+ +

The ‘Preferences‘ + menu of VISU is modified as follow:

+ +

 

+ +

Choose Post-pro ► Gauss Points + ► Picking    Displays + a dialog to customize the picking parameters.

+ +

 

+ +

Description + of the dialog and associated parameters:

+ +

 

+ +
    + +
  • Height of the + pyramid: define the length of each of the 6 pyramids of the cursor. + The cursor is dynamically generated so that apexes of each pyramid touch + the point sprite boundary, and height of pyramid is fixed.

  • +
+ +

 

+ +

+ +

 

+ +

Fig. 47 : Definition of the picking cursor ‘height’ parameter

+ +

 

+ +

+ +

 

+ +

Fig. 48 : Picking configuration dialog

+ +

 

+ +
    + +
  • Information window: + allows defining the transparency + (from 0% = opaque to 100% = transparent) and position + of the windows. Possible values for position are:

  • + +
      + +
    • Centred below the point

    • + +
    • Top-left corner of the 3D view

    • +
    +
+ +

 

+ +
    + +
  • Zoom at first + selected point: This value is used to define the focal distance + at the first selected point (at the end of the movement of the camera). + This value is a ratio that will be multiplied by the current zoom value.

  • +
+ +

 

+ +
    + +
  • Picking + optimisation: This section will be implemented only if the implementation + of the picking function is based on vtkPointLocator + functions. No parameters are needed if implementation is based on vtkPointPicker. (see T2.5 – Picking + specification for more details).

  • +
+ +

 

+ +

Both parameters are used + to customize the data structure of the searching underlying functionality.

+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/segmentation_general.htm b/doc/salome/gui/GAUSS/segmentation_general.htm new file mode 100644 index 00000000..bae3c855 --- /dev/null +++ b/doc/salome/gui/GAUSS/segmentation_general.htm @@ -0,0 +1,91 @@ + + + + + +Segmentation General + + + + + + + + + + + +

General

+ +

In Salome, the SMESH module defines a function to inspect + the mesh quality by cutting the mesh by a plane that cuts the space in + 2 half-spaces.

+ +

 

+ +

Besides, VISU does not define such a function so that the segmentation + for results at Gauss points consists in defining a new behaviour.

+ + + + diff --git a/doc/salome/gui/GAUSS/specific_additional_commands_for_fields_items.htm b/doc/salome/gui/GAUSS/specific_additional_commands_for_fields_items.htm new file mode 100644 index 00000000..9d6bd6b5 --- /dev/null +++ b/doc/salome/gui/GAUSS/specific_additional_commands_for_fields_items.htm @@ -0,0 +1,231 @@ + + + + + +Specific additional commands for Fields items + + + + + + + + + + + +

Specific additional commands for Fields items

+ +

In Description of commands, + we introduced a number of possible actions applicable on Families + or Groups items of the tree. When + applied to a Fields presentation, 4 additional options are possible.

+ +

 

+ +

+ +

 

+ +

Fig. 30 : VISU standard fields presentation popup menu

+ +

 

+ + + +++ + + + + + + + + + + + + + + + + + + + + +
+

Command

+

Purpose

+

Edit

+

Edition of presentation display mode.

+

This option will be extended to the + new Gauss point mode.

+

Sweep

+

Displays a pseudo-animation of field presentation at a given time.

+

This option will not + be extended to the new Gauss point mode.

+

Selection Info

+

Display a dialog to analyse the value of certain data picked in the + 3D view.

+

This option will be extended to the new + Gauss point mode but in a different way.

+

Same As

+

Duplicate the presentation of the selected field at the same level of + the tree

+

This option will not + be extended to the new Gauss point mode.

+ +

 

+ +

In case of results at Gauss points fields, + the popup will have the following items:

+ +

 

+ +

+ +

 

+ +

Fig. 31 : Results at Gauss point popup menu

+ +

 

+ + + +++ + + + + + + + + + + + + +
+

Command

+

Purpose

+

Edit

+

Activate the dialog corresponding to the results at Gauss points presentation + and allows user to modify current parameters.

+

Same As

+

This option will be disabled + in the case of results at Gauss points.

+ +

 

+ +
    + +
  • The ‘Selection Info’ + equivalent function will be described in the Picking chapter (see §6).

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GAUSS/webhelp.cab b/doc/salome/gui/GAUSS/webhelp.cab new file mode 100644 index 00000000..b942f642 Binary files /dev/null and b/doc/salome/gui/GAUSS/webhelp.cab differ diff --git a/doc/salome/gui/GAUSS/webhelp.jar b/doc/salome/gui/GAUSS/webhelp.jar new file mode 100644 index 00000000..53b26663 Binary files /dev/null and b/doc/salome/gui/GAUSS/webhelp.jar differ diff --git a/doc/salome/gui/GAUSS/whcsh_home.htm b/doc/salome/gui/GAUSS/whcsh_home.htm new file mode 100644 index 00000000..7a1ac9d2 --- /dev/null +++ b/doc/salome/gui/GAUSS/whcsh_home.htm @@ -0,0 +1,600 @@ + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whcshdata.htm b/doc/salome/gui/GAUSS/whcshdata.htm new file mode 100644 index 00000000..c50f91ce --- /dev/null +++ b/doc/salome/gui/GAUSS/whcshdata.htm @@ -0,0 +1,88 @@ + + +Gauss Points Viewer + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whftdata.js b/doc/salome/gui/GAUSS/whdata/whftdata.js new file mode 100644 index 00000000..071ae6fc --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whftdata.js @@ -0,0 +1,25 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE(sTopicTitle, sTopicURL) +{ + var len = gTEA.length; + gTEA[len] = new topicEntry(sTopicTitle, sTopicURL); +} + +function topicEntry(sTopicTitle, sTopicURL) +{ + this.sTopicTitle = sTopicTitle; + this.sTopicURL = sTopicURL; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsTData) + { + parent.putFtsTData(gTEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whftdata0.htm b/doc/salome/gui/GAUSS/whdata/whftdata0.htm new file mode 100644 index 00000000..bb5fbd59 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whftdata0.htm @@ -0,0 +1,49 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whfts.htm b/doc/salome/gui/GAUSS/whdata/whfts.htm new file mode 100644 index 00000000..26495d33 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfts.htm @@ -0,0 +1,21 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whfts.js b/doc/salome/gui/GAUSS/whdata/whfts.js new file mode 100644 index 00000000..2b667869 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfts.js @@ -0,0 +1,40 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +var gaFileTopicMapping = new Array(); + +function fileMapping(sStartKey, sEndKey, sFileName) +{ + this.sStartKey = sStartKey; + this.sEndKey = sEndKey; + this.sFileName = sFileName; + this.aFtsKeys = null; +} + +function fileTopicMapping(nIdBegin, nIdEnd, sFileName) +{ + this.nBegin = nIdBegin; + this.nEnd = nIdEnd; + this.sFileName = sFileName; + this.aTopics = null; +} + + +function iWM(sStartKey, sEndKey, sFileName) +{ + gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.ftsReady) + { + parent.ftsReady(gaFileMapping, gaFileTopicMapping); + } +} + +function iTM(nIdBegin, nIdEnd, sFileName) +{ + gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GAUSS/whdata/whfwdata.js b/doc/salome/gui/GAUSS/whdata/whfwdata.js new file mode 100644 index 00000000..e9e8bc6c --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfwdata.js @@ -0,0 +1,37 @@ +// WebHelp 5.10.001 +var gWEA = new Array(); +function aWE() +{ + var len = gWEA.length; + gWEA[len] = new ftsEntry(aWE.arguments); +} + +function ftsEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 1) + { + this.sItemName = fn_arguments[0]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (nLen > 1) + { + this.aTopics = new Array(); + for (var i = 0; i < nLen - 1; i ++ ) + { + this.aTopics[i] = fn_arguments[i + 1]; + } + } + } +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsWData) + { + parent.putFtsWData(gWEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whfwdata0.htm b/doc/salome/gui/GAUSS/whdata/whfwdata0.htm new file mode 100644 index 00000000..04d72529 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfwdata0.htm @@ -0,0 +1,264 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whfwdata1.htm b/doc/salome/gui/GAUSS/whdata/whfwdata1.htm new file mode 100644 index 00000000..ad5c472f --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfwdata1.htm @@ -0,0 +1,264 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whfwdata2.htm b/doc/salome/gui/GAUSS/whdata/whfwdata2.htm new file mode 100644 index 00000000..8c782e93 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfwdata2.htm @@ -0,0 +1,257 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whfwdata3.htm b/doc/salome/gui/GAUSS/whdata/whfwdata3.htm new file mode 100644 index 00000000..287ac319 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whfwdata3.htm @@ -0,0 +1,27 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whgdata.js b/doc/salome/gui/GAUSS/whdata/whgdata.js new file mode 100644 index 00000000..77e0107f --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whgdata.js @@ -0,0 +1,26 @@ +// WebHelp 5.10.001 +var gIEA = new Array(); +function aGE(sName, sDef) +{ + var len = gIEA.length; + gIEA[len] = new gloEntry(sName, sDef); +} + +function gloEntry(sName, sDef) +{ + this.sName = sName; + this.sDef = sDef; + this.nNKOff = 0; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whglo.htm b/doc/salome/gui/GAUSS/whdata/whglo.htm new file mode 100644 index 00000000..62e94498 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whglo.htm @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whglo.js b/doc/salome/gui/GAUSS/whdata/whglo.js new file mode 100644 index 00000000..e0519afc --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whglo.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GAUSS/whdata/whidata.js b/doc/salome/gui/GAUSS/whdata/whidata.js new file mode 100644 index 00000000..9f0eb15e --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whidata.js @@ -0,0 +1,89 @@ +// WebHelp 5.10.001 +// const strings +var gIEA = new Array(); +function aIE() +{ + var len = gIEA.length; + gIEA[len] = new indexEntry(aIE.arguments); +} + +function topic(sName, sURL) +{ + this.sName = sName; + this.sURL = sURL; +} + +function indexEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 3) + { + this.nType = fn_arguments[0]; + this.nPKOff = 0; + this.nNKOff = fn_arguments[1]; + this.sName = fn_arguments[2]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (Math.floor(nLen / 2) * 2 == nLen) + { + this.sTarget = fn_arguments[3]; + if (nLen > 5) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 5)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]); + } + } + + } + else + { + if (nLen > 4) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 4)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]); + } + } + } + } +} + +function getIndexTopicMappingList(nItemIndex) +{ + var sTopics = ""; + if (gIEA.length > nItemIndex) + { + if (gIEA[nItemIndex].aTopics) + { + var i = 0; + var nLen = gIEA[nItemIndex].aTopics.length; + for (i = 0; i < nLen; i ++) + { + sTopics += "," + gIEA[nItemIndex].aTopics[i]; + } + } + } + return sTopics; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + for (var i = 0; i < gIEA.length; i ++ ) + { + if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length) + { + + gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff; + } + } + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whidx.htm b/doc/salome/gui/GAUSS/whdata/whidx.htm new file mode 100644 index 00000000..0a0deedd --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whidx.htm @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whidx.js b/doc/salome/gui/GAUSS/whdata/whidx.js new file mode 100644 index 00000000..e0519afc --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whidx.js @@ -0,0 +1,34 @@ +// WebHelp 5.10.001 +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/GAUSS/whdata/whtdata.js b/doc/salome/gui/GAUSS/whdata/whtdata.js new file mode 100644 index 00000000..d5428a7d --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whtdata.js @@ -0,0 +1,64 @@ +// WebHelp 5.10.001 +var gTEA = new Array(); +function aTE() +{ + gTEA[gTEA.length] = new tocEntry(aTE.arguments); +} + +function tocEntry(fn_arguments) +{ + if (fn_arguments.length < 3) + { + alert ("data format wrong!!!"); + return; + } + + this.nType = fn_arguments[0]; + this.nContents = fn_arguments[1]; + this.sItemName = fn_arguments[2]; + + if (this.nType == 1 || this.nType == 2 || this.nType == 16) + { + if (fn_arguments.length > 3) + { + this.sItemURL = fn_arguments[3]; + if (fn_arguments.length > 4) + { + this.sTarget = fn_arguments[4]; + if (fn_arguments.length > 5) + this.sIconRef = fn_arguments[5]; + } + } + } + if (this.nType == 4 || this.nType == 8) + { + if (fn_arguments.length > 3) + { + this.sRefURL = fn_arguments[3]; + if (this.nType == 4) + { + if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) + this.sRefURL+="/"; + } + if (fn_arguments.length > 4) + { + this.sItemURL = fn_arguments[4]; + if (fn_arguments.length > 5) + { + this.sTarget = fn_arguments[5]; + if (fn_arguments.length > 6) + this.sIconRef = fn_arguments[6]; + } + } + } + } +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.putData) { + parent.putData(gTEA); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whtdata0.htm b/doc/salome/gui/GAUSS/whdata/whtdata0.htm new file mode 100644 index 00000000..0d94f92a --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whtdata0.htm @@ -0,0 +1,55 @@ + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whdata/whtoc.htm b/doc/salome/gui/GAUSS/whdata/whtoc.htm new file mode 100644 index 00000000..54e0cbf2 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whtoc.htm @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whdata/whtoc.js b/doc/salome/gui/GAUSS/whdata/whtoc.js new file mode 100644 index 00000000..163d8cc9 --- /dev/null +++ b/doc/salome/gui/GAUSS/whdata/whtoc.js @@ -0,0 +1,31 @@ +// WebHelp 5.10.001 +// const strings +var gaProj = new Array(); +var gsRoot = ""; + +function setRoot(sRoot) +{ + gsRoot = sRoot +} + +function aPE(sProjPath, sRootPath) +{ + gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath); +} + +function tocProjEntry(sProjPath, sRootPath) +{ + if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) + sProjPath+="/"; + this.sPPath = sProjPath; + this.sRPath = sRootPath; +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) { + parent.projReady(gsRoot, gaProj); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whestart.ico b/doc/salome/gui/GAUSS/whestart.ico new file mode 100644 index 00000000..110f1835 Binary files /dev/null and b/doc/salome/gui/GAUSS/whestart.ico differ diff --git a/doc/salome/gui/GAUSS/whfbody.htm b/doc/salome/gui/GAUSS/whfbody.htm new file mode 100644 index 00000000..86d8e63d --- /dev/null +++ b/doc/salome/gui/GAUSS/whfbody.htm @@ -0,0 +1,37 @@ + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whfdhtml.htm b/doc/salome/gui/GAUSS/whfdhtml.htm new file mode 100644 index 00000000..236beec7 --- /dev/null +++ b/doc/salome/gui/GAUSS/whfdhtml.htm @@ -0,0 +1,30 @@ + + +Search Frame + + + + + + + + + diff --git a/doc/salome/gui/GAUSS/whfform.htm b/doc/salome/gui/GAUSS/whfform.htm new file mode 100644 index 00000000..f592a738 --- /dev/null +++ b/doc/salome/gui/GAUSS/whfform.htm @@ -0,0 +1,136 @@ + + +Search Form + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/GAUSS/whfhost.js b/doc/salome/gui/GAUSS/whfhost.js new file mode 100644 index 00000000..167acc45 --- /dev/null +++ b/doc/salome/gui/GAUSS/whfhost.js @@ -0,0 +1,945 @@ +// WebHelp 5.10.003 +var gsSK2=null; +var gsSK=null; +var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7"; +var gnCLF=0; +var gsHelpCannotSearch="Cannot search for that phrase."; +var gsNoTopics="No Topics Found."; +var gsLoadingDivID="LoadingDiv"; +var gsLoadingMsg="Loading data, please wait..."; +var gsSearchMsg="Searching..."; +var gsResultDivID="ResultDiv"; +var gaaFCD=new Array(); +var gaaFTCD=new Array(); +var goCF=null; +var goCTF=null; +var gaTI=null; +var gnCurrentOp=0; +var gbNot=false; +var gbReady=false; +var gnLoadFts=1; +var gnCacheLimits=5; +var gaCCD=new Array(); +var gbXML=false; +var gaData=new Array(); +var gsBgColor="#ffffff"; +var gsBgImage=""; +var gsMargin="0pt"; +var gsIndent="0pt"; +var gsCheckKey=null; +var gnIndexNum=0; +var gaFtsContentsCon=null; +var gaTopicCheckInfo=null; +var gnTopicCheck=0; +var goFont=null; +var goErrFont=null; +var goHoverFont=null; +var gsABgColor="#cccccc"; +var gbWhFHost=false; +var gbFirst=false; + +function setBackground(sBgImage) +{ + gsBgImage=sBgImage; +} + +function setBackgroundcolor(sBgColor) +{ + gsBgColor=sBgColor; +} + +function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) +{ + var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); + if(sType=="Normal") + goFont=vFont; + else if(sType=="Error") + goErrFont=vFont; + else if(sType=="Hover") + goHoverFont=vFont; +} + +function setActiveBgColor(sBgColor) +{ + gsABgColor=sBgColor; +} + +function setMargin(sMargin) +{ + gsMargin=sMargin; +} + +function setIndent(sIndent) +{ + gsIndent=sIndent; +} + +function updateCache(oCF) +{ + var len=gaCCD.length; + if(len0&&sURL) + { + var topic=new Object(); + topic.sTopicTitle=name; + topic.sTopicURL=sURL; + aTopics[aTopics.length]=topic; + } + } + oChild=oChild.nextSibling; + } + putFtsTData(aTopics); + } + } + else if(gnLoadFts==2) + { + var node=xmlDoc.lastChild; + if(node) + { + var oChild=node.firstChild; + var aFtsContents=new Array(); + while(oChild) + { + if(oChild.nodeName=="key") + { + var name=oChild.getAttribute("name"); + if(name&&name.length>0) + { + var item=new Object(); + item.sItemName=name; + aFtsContents[aFtsContents.length]=item; + var oChildChild=oChild.firstChild; + while(oChildChild) + { + if(oChildChild.nodeName=="#text") + { + var sIDs=oChildChild.nodeValue; + if(sIDs) + { + var nBPos=0; + do + { + var nPos=sIDs.indexOf(",",nBPos); + var sID=null; + if(nPos!=-1) + sID=sIDs.substring(nBPos,nPos); + else + sID=sIDs.substring(nBPos); + + if(sID) + { + var id=parseInt(sID); + if(!isNaN(id)) + { + if(!item.aTopics) + item.aTopics=new Array(); + item.aTopics[item.aTopics.length]=id; + } + } + nBPos=nPos+1; + }while(nBPos!=0&&nBPos0) + { + document.body.background=gsBgImage; + } + if(gsBgColor&&gsBgColor.length>0) + { + document.body.bgColor=gsBgColor; + } + writeResultDiv(); + loadFts(); + var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null) + SendMessage(oMsg); +} + +function writeResultDiv() +{ + var sHTML="
"; + document.body.insertAdjacentHTML("beforeEnd",sHTML); +} + +function loadFts() +{ + if(!gbReady) + { + var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); + if(SendMessage(oResMsg)&&oResMsg.oParam) + { + gbReady=true; + var oProj=oResMsg.oParam; + var aProj=oProj.aProj; + gbXML=oProj.bXML; + if(aProj.length>0) + { + var sLangId=aProj[0].sLangId; + for(var i=0;i=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){ + gnCurrentOp=0; + gbNot=false; + }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){ + gnCurrentOp=1; + gbNot=false; + }else if((sCW=="not")|| + ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){ + gbNot=!gbNot; + }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){ + var sCurrentStem=GetStem(sCW); + gsCW=sCurrentStem; + ftsFindKeyword(); + return; + } + findOneKey(); + } + else{ + displayTopics(); + checkAgain(); + } +} + +function checkAgain() +{ + gsCheckKey = ""; + gnIndexNum = 0; + gsSK=gsSK2; + gsSK2=null; + if(gsSK!=null) + setTimeout("findFTSKey();",1); +} + +function displayTopics() +{ + var sHTML=""; + var sLine=""; + for(var i=0;i"+_textToHtml(gaTI[i].sTopicTitle)+"
"; + if(i>>4<<4==i) + { + sHTML+=sLine; + sLine=""; + } + } + if(sLine.length>0) + sHTML+=sLine; + + if(sHTML.length==0) + sHTML="

"+gsNoTopics+"

" + else + sHTML="
"+sHTML+"
"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function displayMsg(sErrorMsg) +{ + var sHTML="

"+sErrorMsg+"

"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function ftsFindKeyword() +{ + var sKey=gsCW; + var bNeedLoad=false; + var aFtsContentsCon=null; + var s=0; + if(sKey==null) return; + if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0) + { + aFtsContentsCon=new Array(); + gnCheck=0; + gsCheckKey=sKey; + gnTopicCheck=0; + gaTopicCheckInfo=null; + } + else{ + s=gnIndexNum; + aFtsContentsCon=gaFtsContentsCon; + } + for(var i=gnCheck;i=aTI.length) + { + aLS=gaTI; + aSS=aTI; + } + else + { + aLS=aTI; + aSS=gaTI; + } + var s=0; + for(var i=0;i=0) + { + var nM; + var bFound=false; + do{ + nM=(nB+nE)>>1; + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) + nE=nM-1; + else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + nB=nM+1; + else + { + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + insertItemIntoArray(aTI,nM,oTI); + else + { + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + insertItemIntoArray(aTI,nM+1,oTI); + else + insertItemIntoArray(aTI,nM,oTI); + } + } + else + aTI[0]=oTI; +} + +function mergeTopics(aTI1,aTI2) +{ + var i1=0; + var i2=0; + var len1=aTI1.length; + var len2=aTI2.length; + var aTopicNew=new Array(); + var i=0; + while(i1>1; + if(compare(keys[nM].sItemName,sKey)>0) + nE=nM-1; + else if(compare(keys[nM].sItemName,sKey)<0) + nB=nM+1; + else{ + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + { + if(keys[nM].aTopics) + { + for(var i=0;i>1; + if(aFTCD[nM].nBegin>nTopicId) + nE=nM-1; + else if(aFTCD[nM].nEnd