This section contains corrections and changes to the published SansGUI Version 1.0 Manuals. Please refer to the following on-line page from time to time for the latest updates.
The changes in this section only apply to the printed manuals. All the on-line manuals have been updated. The parenthesized numbers (vM.n) indicate the version numbers the fixes were introduced. Click on the following to jump to the modifications in the corresponding manual.
The following changes are applicable to the printed SansGUI Getting Started Version 1.0 (Product Number: PDI-SG-0103-GSG001).
Correct a typographical error from tempered to tampered in the last sentence of LICENSE GRANT.
After the automatic unit conversion feature, add the following feature:
Graphics class framework supporting industry-standard OpenGL API and interactive zooming, panning, rotation, and user selection controls for 3D graphics applications.
After the data value plotting feature, add the following features:
Dynamic charting when a simulation is running.
3D graphics visualization with zooming, panning, rotation, and selection controls.
Add Windows Me and Windows XP to both SansGUI Run-Time Environment and SansGUI Development Environment requirements. They are changed to:
Pentium class system running Microsoft Windows 95/98/Me, NT 4.0 (service pack 3 or later), Windows 2000, or Windows XP.
Change all instances of 1.0 to 1.2 and 1_0 to 1_2, to reflect the current version number.
Change Your Operating System: Windows 2000, ... in License Key information to:
Your Operating System: Windows XP/2000/NT4 or Windows Me/98/95
Change the limit of 10 classes to 20 classes.
A new Point of Attraction 5: Solid is added to the Getting Started guide. The original Point of Attraction 5: Salty is changed to Point of Attraction 6. You can find the new step-by-step example on-line, or in the last section, New Class Graphics Documentation, of this Addenda.
Point of Attraction 5: Solid explores the new interactive 3D graphics features in SansGUI and demonstrates how SansGUI supports OpenGL graphics programming directly in Microsoft Visual C++ and Compaq Visual Fortran.
Correct the function name prefix SG_x with missing 'x's in:
Eliminate the second to the last sentence. The value of the external input is not cleared because we have changed this attribute from the In/Out cope to the Input scope in the IAC example distributed since SansGUI version 1.1. This change prevents the overriding values from being wiped off when the user selects Edit>Clear Override Values from the menu or clicks on the Reset Data button in the Run toolbar.
With this operation, however, you will also wipe off Ken's external input value which was set
At the end of Developer's Corner and right before the Acknowledgements section, add the following paragraph:
The doc\IAC subdirectory of the SansGUI installation directory contains a set of hand-crafted documentation files written in the Hyper-Text Markup Language (HTML). These files demonstrate one means to incorporate on-line, context-sensitive help document into the SansGUI environment. The HTML file names serve as the document entry points of the simulator classes and are entered in the Class Properties dialogs in the Schema Definition of IAC.
Add the following text to a section titled More Examples under the To Go Further topic:
We have dedicated an area on our web site to more examples, utility programs, and application demonstrations, developed by the SansGUI team at ProtoDesign, Inc. or by our fellow customers. Many example projects contain manuals and full source code for you to download and explore. A SansGUI FAQ section is also available to answer some of the frequently asked questions. Please look them up from time to time for some information that you may find useful.
http://protodesign-inc.com/sg_examples.htm: for SansGUI Examples
http://protodesign-inc.com/sg_faq.htm: for SansGUI FAQ
Please contact ProtoDesign if you would like us to publicize your simulation projects through our SansGUI Examples section or provide a link in our SansGUI Resources page to your web site.
The following changes are applicable to the printed SansGUI User's Guide Version 1.0 (Product Number: PDI-SG-0103-USR001).
the term System, remove the letter s after the word provide
the second line. It should read:
... system elements, that perform certain functions or provide certain services.
The figure has been modified to include the new Graphics class as one of the Reference classes:
The descriptions of the Graphics class below is inserted between the Collection class and the Matrix class in the paragraph under the figure:
The Graphics class is similar to the Collection class and, in addition, supports interactive 3-dimensional graphics displays for scientific and engineering visualization and data exploration.
In the description of Ending Cycle Number in Cycle Simulation Control, add the following sentence after the original text:
You can enter the value 0 to inform SansGUI to run the simulation forever, with endless loops.
Add the following sentence to the end of the original text:
You can also select Print Canvas View... or Print Preview from the right-click context menu to perform these tasks.
Insert a new Graphics Objects section between Collection Objects and Matrix Objects:
Graphics objects are similar to Collection objects and, in addition, can be viewed in 3-dimensional scenes with Graphics Windows. A Graphics Window can be opened in two ways:
Select View Object from the right-click context menu of a Graphics object.
Click on the View Object button in the Object Properties dialog of a Graphics object.
SansGUI supports hardcopy printing, copying to windows clipboard, and exporting to bitmap (.BMP) or JPEG (.JPG) image file formats of graphic scenes in Graphics Windows. All these functions can be performed by selecting the corresponding menu items in the right-click context menu within the Graphics Windows. Please refer to Point of Attraction 5: Solid in the SansGUI Getting Started guide, the Class Graphics section of the SansGUI Reference Manual, and your simulator documentation for more operational details.
In addition, please take a look at 3D Graphics Rendering Options in the Tuning Environment Parameters section in the Customizing SansGUI Environment chapter of this manual.
Add the following sentence as a separate paragraph right after the Message bullet point at the end of the Using Message View section.
You can open the Properties dialog of an object, view the object, or print/preview the Message View by selecting appropriate menu items from its context menu.
After the second sentence ended with "terminated as soon as possible" and before the next sentence started with "You cannot continue to", insert the following text:
SansGUI will call the end simulation run routines to allow the simulator to clean up the simulation and release resources. In very rare occasions, you may want to bypass the end run routines and stop the simulation immediately. You can select Tools>Terminate Simulation from the pull-down menu; however, please use this option with great care.
Add the following paragraph to the end of the Running In-Process Simulation section, after the More Global Values bullet point:
The Reset Data button in the Run toolbar can be used to remove the overriding values, similar to selecting Edit>Clear Override Values, and reset all the In/Out and Output numerical data to their default values in the simulation control object.
The first sentence is modified to read:
You can plot the selected data by any one of the following methods.
The paragraph after the three methods is changed to:
Selected data will be plotted in a Plot Results Dialog. In the current version of SansGUI, you can have one interactive Plot Results Dialog per Project Model.
After Generating Plots and before Plot Results Dialog, add a Dynamic Charting section:
Plotting results is not limited to the end of a simulation run. When there are logged attributes, and some of them are selected for plotting, the Plot Results button is activated. You can click on it before a simulation run, during the simulation run, when the simulation is paused, or after the simulation is ended. When the Plot Results Dialog is displayed, SansGUI will update the plot when there are new data coming out from the simulator. Therefore, you need to decide whether you would leave the Plot Results Dialog opened or closed during a simulation run for performance reasons. Other notes regarding dynamic charting follow:
You can click on the Plot Results button and customize the chart before starting a simulation.
The Y-axis can be set to auto-scaling or fixed maximum/minimum, using the Customization Dialog... from the right-click context menu.
Although you can perform customization while the simulation is running, it is a good idea to pause the simulation, do customization, and then resume the simulation.
Strip charting is also possible. The width of the plot frame, which is the number of data points to be plotted along the X-axis, is governed by the Maximum Number of Rows in the Result Views parameter (default 1000) that you can set by selecting Tools>Options... from the pull-down menu. Please note that this is a document dependent option, meaning that the change is local to a Project Model.
Add a paragraph to start Incorporating Canvas Views:
You may want to put a section of an assembly or the entire assembly in a Canvas View in your technical report, slideshow or other publications. SansGUI supports three means to do it: 1) Exporting Enhanced Metafiles: if you only need a static picture, in vector form, of the current Canvas View, 2) Exporting Image Files: if you need to capture the raster image of the current Canvas View, or 3) Using OLE Objects: if you would like to resize, zoom, scroll, and crop the picture in the other application.
Add a subsection on Exporting Enhanced Metafiles:
If you only need a static picture of the current Canvas View to be incorporated in a document with another application, you can export the Canvas View to the Windows Clipboard (in memory) or to an external file in the Windows Enhanced Metafile (EMF) format. Once exported, you can insert it into any document with any Windows program that supports EMF. An example is to include a picture of a the Canvas View in a Microsoft Word document:
To use the Clipboard: Right click on any empty portion of the Canvas View and select Export Enhanced Metafile>To Clipboard from the context menu. Open the document in Word and select Edit>Paste Special... from the pull-down menu. From the Paste Special dialog, select Paste As: Picture (Enhanced Metafile).
To save it to an EMF file: Right click on any empty portion of the Canvas View and select Export Enhanced Metafile>To File... from the context menu. An Export EMF File dialog will be displayed to let you enter the file name. Once the file is saved, you can incorporate it by selecting Insert>Picture>From Files... from the pull-down menu of other Windows applications, such as Word.
Add a subsection on Exporting Image Files after Exporting Enhanced Metafiles:
You can also export the current Canvas View to bitmap (.BMP) or JPEG (.JPG) image files for publication purposes. To do it, select Bitmap... or JPEG... submenu item from Export Image File in the context menu.
Add a subsection on Using OLE Objects and remove the first sentence from the original text. The new subsection starts out with: "SansGUI Canvas View is an OLE server." The completely modified text is located in Working with Other Applications section.
Change the subsection title to Updating SansGUI Intrinsic Classes, from Update ...
Before the second to the last bullet point that starts with Select Build>Build <DLL>, insert the following:
Select Project>Settings... to open the Project Settings dialog and then select Win32 Release in the Settings for: field.
Under the C/C++ tab in the Project Settings dialog, select the Code Generation category and make sure that the Use run-time library: field is set to Multithreaded DLL (using the /MD option). Click on the OK button to close the Project Settings dialog.
Replace 3) in the first bullet point with the following:
3) in the Code Generation category, make sure that the Use run-time library: field is set to Multithreaded DLL (using the /MD option).
Change the "Do not worry..." sentence in the second to the last bullet point to:
Do not worry about the multithread library being disabled at this moment because we will set it later.
Add the following to the first paragraph before "Click on the OK button to commit the change."
In addition, change the Category selection to Libraries and then select Threaded in the Reentrancy Support: field and Multithreaded DLL in the Use run-time library: field to avoid any potential conflict with the system's library. Click on the OK button to commit the changes.
In the Tuning Environment Parameters section, swap the Environment Options and Document Dependent Options to make the sequence consistent with the Options dialog.
Add a subsection, titled 3D Graphics Rendering Options, with the following contents:
By default, SansGUI detects the 3D graphics configurations of your computer to decide how to display Graphics objects in Graphics Windows. Under certain circumstances, however, you may need to select a different option manually: 1) you have a special graphics controller card that supports OpenGL with accelerated hardware but SansGUI cannot detect it, and 2) you are encountering a Microsoft generic OpenGL implementation bug, Microsoft Knowledge Base 272222, with which the Graphics Windows are not completely rendered along their right and bottom edges. The options are:
Let SansGUI detect graphics configurations automatically: SansGUI checks your computer and makes the best judgment on how to render 3D graphics.
Render graphics to windows or accelerated hardware: Select this option if you have a special graphics controller card with its own device driver and/or accelerated 3D graphics hardware.
Render graphics to bitmaps before displaying in windows: Select this option if you find the graphics display is incomplete, with black bands at the right and bottom window borders when the window is enlarged.
The change of this option is effective only in Graphics Windows opened subsequently. You need to close all previously opened Graphics Windows and reopen them to be effective.
The following change is applicable to the printed SansGUI Developer's Guide Version 1.0 (Product Number: PDI-SG-0103-DEV001).
A missing letter A is added to the title of CHAPTER 1 ADVANCED SANSGUI OBJECT SYSTEM in the Table of Contents.
The end of the second sentence in the bullet item, Definitions of Classes, should be changed to "subclass or derive from." Remove the extra d after the word derive.
Replace the first and second sentences of the page to the following:
... Use run-time library: field is set to Multithreaded DLL (using the /MD option) for the Win32 Release mode. You also need to make sure that all the external libraries your project replies upon have been built with this option to avoid any potential conflict from the system's library.
Change the second to the last sentence of the third bullet point in the Compaq Visual Fortran IDE section:
Do not worry about the multithread library being disabled at this moment because we will set it later.
In the first line of page 73, insert the following sentence before "Click on the OK button to commit the change."
In addition, change the Category selection to Libraries and then select Threaded in the Reentrancy Support: field and Multithreaded DLL in the Use run-time library: field to avoid any potential conflict with the system's library. Click on the OK button to commit the change.
out the sentence, "
There is no potential SansGUI run-time library conflict with the CVF environment."
Replace it with the following:
You also need to make sure that all the external libraries your project replies upon have been built with Multithreaded DLL option consistently. In addition, because the External Name Interpretations option is set to As-is while compiling, the calls to intrinsic and external subroutines, functions, and procedures may need to be in their upper-case form.
The following changes are applicable to the printed SansGUI Reference Manual Version 1.0 (Product Number: PDI-SG-0103-REF001).
Add the following paragraph to the end of the introductory section SansGUI Data Object Format before the SG_VALU Data Structure section:
Two example source files, SGdump.cpp in C/C++ and SGdump.f in Fortran are included in the inc subdirectory of your SansGUI installation directory. You may incorporate the source file into your programming project, open an output file, and call the SG_dumpDataObject routine as needed. It is good for debugging purposes. You can also use it to learn how to access all the data members in the two structures.
Change Alternately to Alternatively in the beginning of the last sentence.
The last bullet point describing Object Status is changed as following:
Object Status: to indicate function calling status during run-time.
Although being modified in SansGUI version 1.1, the description of the iStatus member in the SG_OBJ data structure is further changed to:
The status of the data object, used to communicate between SansGUI and DLL functions. Each definition below occupies one bit in this integer. The values of these bits are defined in SGdll.h (for C/C++) and SGdllf.h (for Fortran):
SG_STAT_STOP: SansGUI sets this bit in the simulation control object before calling the end simulation run routines (SG_xEndRun) in the simulator when the user clicks on the Stop button. This allows the simulator to differentiate a normal end of a simulation run from being stopped by the user.
SG_STAT_EDIT: SansGUI sets this bit when a DLL function is not called during a normal simulation run. Therefore, the bit will be set prior to the function calls triggered by the Check Data and Load Data buttons and by windows messages in class Graphics.
SG_STAT_PRINT: SansGUI sets this bit when the DLL function call is triggered by the printing process. It is especially useful when a drawing routine needs to set background colors differently between the computer screen and the hardcopy print out.
The last sentence in the Important Notes is replaced with the following:
When the function call happens in an editing session, as opposed to during a simulation run, only self and simCtrl are reliable for processing. SansGUI also tries to resolve object references as complete as possible and passes the reference objects in refObj to the DLL functions during the model construction time.
In the DLL Function Return Values section, the descriptions of SG_R_LMSG should be corrected to read:
SG_R_LMSG: to indicate that there is a message to be logged in a Message View and, for Data Editing Functions (SG_xEndEdit and SG_xLoad), displayed in a pop-up message box. When it is returned from an Execution or an Evaluation Function during a simulation run, the message is shown to the user in the Message View, and the simulation continues without any interruption.
Append the following paragraph to the description of the End Run (SG_xEndRun) execution function:
This function will be called after the user clicks on the Stop button, giving the simulator an opportunity to clean up and release resources. A SG_STAT_STOP bit is set in the iStatus member of the simulation control object to indicate that the simulation is stopped by the user.
In the Cycle-Driven Simulation Semantics section, the cycle simulation calling sequence of SG_xInitSize function has been changed since SansGUI version 1.0.1. The bullet entry for Initialization should read:
Initialization (SG_xInitSize and SG_xInit): For object data resizing before initialization (SG_xInitSize), 2) looping through all parts and then all reference objects is applied to provide simulators with an opportunity to know how many parts there are in a Project Model in order to specify the sizes of matrices and/or tables accordingly. SansGUI will allocate memory dynamically before the subsequent initialization function calls. During initialization (SG_xInit), 1) looping through all reference object and then all parts is used because some parts may refer to some reference objects, which need to be initialized first.
In the Reference Class category, add Class Graphics.
Append the following sentence to the description of Ending Cycle Number:
When it is set to 0, however, SansGUI will not check this condition and will let the simulation run forever.
SansGUI Modeling and Simulation Environment Version 1.2
Copyright © 2000-2003 ProtoDesign, Inc. All rights reserved.