1.0 Overview
The HOOPS 3D Part Viewer for Parasolid is available for the MS Windows
platform and is built using the HOOPS 3D Product Suite from TSA and the
Parasolid Modeling Kernel from EDS - PLM Solutions. By licensing these components,
developers can easily customize or extend this application or port it to
the major UNIX platforms, including Linux. Web-based applications may also
be created using HOOPS/ActiveX extensions, HOOPS/Netscape extensions, or
the HOOPS JNI bindings. In addition, developers may license additional modules
for the reading and writing of the STEP, IGES, VDA-FS. CATIA, Pro/E and
SAT file formats.
The underlying architecture of this part viewer consists of the HOOPS 3D
Product Suite from TSA, including it's tight integration with the Parasolid
Modeling Kernel from Unigraphics Solutions. The HOOPS and Parasolid components
are modular and extensible tools which help developers rapidly deliver world
class 2D/3D applications.
The Part Viewer includes the following functionality:
- Read and Save Parasolid XT files including previous versions.
- Read HSF (HOOPS Stream Format) files as well as STL and OBJ (Alias|Wavefront)
formats.
- Web publish any loaded files via the "Save As HTML" and "Save
as HSF" capabilities. HSF is the HOOPS Stream Format at the center
of the OpenHSF Initiative.
- Navigate even the most complex parts in real time via the constant
frame rate manipulators.
- Save XT files as ParaHOOPS Stream Files (PSFs) for faster file loading
and visualization. PSFs contain both the original CAD geometry and its
corresponding faceted representation. Storing the faceted data with the
model means that the model does not need to be re-tessellated when read
in, which results in significantly faster load times.
- Save files as Windows EMF and tiff image formats.
- Query the Parasolid model and do distance calculations.
- Browse the topological hierarchy of the Parasolid part file.
- Create selection sets of Parasolid entities.
- Annotate Parasolid entities through the Topology Browser.
- Switch between Render Modes (Shaded, Triangulated, Wireframe, Precise
Hidden Line).
- Visualization operations such as Orbit, Pan, Zoom, etc.
- Move entities within the scene using the high-speed HOOPS "Spriting"
algorithm.
- Print, Print Preview and Copy to Clipboard.
- Real-time, simultaneous collaboration between multiple users.
- On-demand and view-dependent HSF file streaming from HOOPS/Net server.
- Playback of HSF animation.
In addition to its use for viewing Parasolid parts and assemblies, saving
to other Parasolid versions, web-publishing your XT files and allowing users
to collaborate in real-time, this application is intended as a demonstration
of the power of the HOOPS 3D Product Suite and the Parasolid Modeling Kernel.
As such, it serves as a reference architecture from which developers may
extend and build their own CAD/CAM/CAE applications. For more information
about the architecture of the Part Viewer and how to license the framework
components to build custom CAD/CAM/CAE application please contact info@techsoft3d.com.
2.0 Using the HOOPS 3D Part Viewer for Parasolid
The HOOPS 3D Part Viewer for Parasolid has been designed to work and act
like any standard Windows application. It uses the MFC multi-document
interface (MDI), supporting the standard MFC services (New, Open, Save As,
Print, Print Preview, Copy to Clipboard). Parasolid XT files may be read,
interrogated, viewed and saved.
- The Viewer has the concept of an active render mode and an active model
operator. The render modes (Wireframe, Triangulated, Gouraud Shaded,
Precise Hidden Line) can be toggled by using the "right click" menu.
- The model operators can be selected to invoke camera manipulation (Orbit,
Pan, Zoom, Zoom to Window, Zoom to Extents, Set View Plane) or the selection
operators (Select by Single Click, Select by Window). The operators
can be made active by clicking on the appropriate icon or pull down menu.
There are various toolbars available. These can be hidden/shown through
View-Toolbar menu.
Standard Toolbar:
- File New - Creates a new empty window. Files can then be loaded into
the new scene via the File/Load button
- File Open - Launches the MFC file browser. Use this to find and open
a Parasolid Part File or HOOPS Stream File
- Copy - Copies the contents of the current (top) MDI window to the Windows
clipboard
- Print - Prints the contents of the current (top) MDI window via the
Windows system printer
- Zoom to Extents - Resets the camera to view the entire scene
- Orbit - Use the mouse to interactively orbit the camera
- Pan - Use the mouse to interactively pan the camera in the active view
- Zoom - Use the mouse to interactively change the camera field(Zoom
in or out)
- Zoom to Window - Use the mouse to define a new camera view field
- Zoom to Selection - Zooms to the currently selected object
- Select By Single Click - Use the mouse to select on Parasolid entities
- Select by Window - Use the mouse to define a window to select Parasolid
entities
- Shaded - Sets the rendermode to Shaded
- Hiddenline - Sets the rendermode to Hiddenline
- Wireframe - Sets the rendermode to Wireframe
Tools Toolbar:
- Annotation - Create a text annotation. After clicking on this button,
click on an object in the scene to which annotation is to be attached.
Move the mouse and click again and begin typing your text annotation.
Press 'Enter' to complete. You can also click on the annotation and drag
it to relocate it.
- Measure Distance - Interactively query the distance between two points
on the Model.
- Create Cutting Plane - Creates a cutting plane and inserts it in the
scene. Clicking again removes the cutting plane. Holding Down [SHIFT]
while clicking on th button while the cutting plane is active removes
the handles from the plane. Use the mouse to interactively rotate/pan
the cutting plane to see the sections of models in various planes.
- Query Model- Interactively query the geometry and topology in the scene.
- Test Performance - Animates the model in the scene to test the performance.
Displays the information about the performance (in frames/second) achieved.
Markup-Text Toolbar:
- Freehand Markup - Use this tool to draw free-hand markups in the scene.
Click the left mouse button and drag.
- Rectangle Markup - Use this tool to draw rectangular markups in the
scene. Click the left mouse button and drag.
- Circle Markup - Use this tool to draw circular markups in the scene.
Click the left mouse button and drag.
- Text Markup - Use this tool to insert text markups in the scene.
- Save/Restore Markup 1,2 -Pressing any of these buttons for the first
time the application will store the markup data and current camera position
and associate it to that button. Clicking on the button at any later time
in your session will cause the application to re-position your view at
the saved camera position with the markup data restored. To erase a saved
camera position hold down the [SHIFT] key while clicking on the button.
Standard Views Toolbar:
- Front - Sets the camera in the active view to the front of the object.
- Back - Sets the camera in the active view to the back of the object.
- Top - Sets the camera in the active view to the top of the object.
- Bottom - Sets the camera in the active view to the bottom of the object.
- Right - Sets the camera in the active view to the right of the object.
- Left - Sets the camera in the active view to the left of the object.
- Isometric - Sets the camera in the active view to show the object in
isometric position.
There are also a number of settings that can be toggled by clicking on
the right mouse button. They are:
- Selection Level - Allows user to toggle the topological selection level
on the active view, including selectability of edges, faces, bodies, instances
or assemblies.
- Visibility - Allows user to toggle on/off the visibility of different
Parasolid topological entities including edges and faces, as well as the
visibility of lights in the scene.
- Render Mode - Allows user to switch between different visualization
modes, including triangulated (flat shaded), wireframe, Gouraud shaded,
or hidden-lines removed. .
The full set of features are explained in more detail below.
2.1 Opening/Reading Files
The Part Viewer reads in the following formats:
- XT (Parasolid Part File)
- PSF (ParaHOOPS Stream Files)
- HSF (HOOPS Stream Files)
- STL (Standard Lithography Files)
- OBJ (Alias|Wavefront files)
- HMF (HOOPS ASCII Metafiles)
For your convenience, a set of demonstration files are contained on this
media located in the parts directory of your installation. The files are
of varying degrees of complexity so certain files may take a couple of seconds
to load depending on the speed of your system.
Note, by default the viewer extracts all the parts from assemblies and
puts them into a single partition from which you can then save the file,
effectively "flattening" the assembly structure. To have the viewer support
the extra Assembly information go to the File Settings button under the
File Menu. From here, un-check the box marked "Convert Instanced Parasolid
entities to new Entities".
2.2 Command Line Arguments
In certain cases it may be preferable to start the Part Viewer from the
command line. To do this, specify the file which you want loaded. For example,
> parasolidpartviewer.exe bnc.x_t
2.3 Modifying Application Settings
The application settings are the options which are applicable to all the
documents in the application. These are stored in the registry and are restored
back when the application is launched again. You can modify these settings
by clicking on Tools-Options menu.
General Settings
- Display
- Driver: Sets the HOOPS display driver.
- Disable Hardware Acceleration: Sets HOOPS to use software
rendering. Only works for the OpenGL and Direct3D drivers.
- Axis Triad: If checked, displays X-Y-Z axis triad
at the left-bottom corner of each document.
- Shadow Rendering: Sets the Shadow Rendering Mode.
Can be used to work around hardware problems with shadow rendering.
- Camera
- Smooth Transition: If checked, the camera is transitioned
between two positions smoothly (in small increments).
- Projection: Sets the camera projection.
- Rendering
- Shadows: If checked, shadows will be generated.
- Display Lists: If checked, display lists will be used.
Usage of display lists can increase the performance upto 5 times.
This option is only valid if you have OpenGL driver set.
- Occlusion Culling: If checked Occlusion Culling will
be performed on the current scene which can result in significant
performance gains with some models. This option currently only has
effect when the OpenGL driver is selected and certain hardware requirements
are met.
- Framerate enabled on Startup: If checked Constant
Framerate Logic will be activated when a new model is loaded
- Fast HLR: If checked HOOPS will never use the precise,
analytical Hidden Line mode.
- Culling Threshold: If checked will set the pixel culling
threshold for occlusion culling.
- Geometry Manipulation
- Update Shadows: If checked shadows will be updated
during translation/rotation of objects.
- Use 3D Spriting: If checked spriting is used during
translation/rotation of objects
- Transparency
- Style: Allows you to set the style of transparency.
- Sorting: Allows you to set the sorting algorithm used
for transparency.
- Layers: Allows you to set the number of layers for
the depth peeling transparency sorting algorithm.
- Antialiasing
- Use Anti-aliasing: If checked, enables scene anti-aliasing,
with the option to set the anti-aliasing quality (number of samples).
- Text: If checked, enables text anti-aliasing.
- Lines + Edges: If checked, enables anti-aliasing for
only lines and edges. In practice, this setting is redundant if screen
anti-aliasing is already enabled.
- Apply: Pressing this button will Apply the current settings
to the associated view.
- Reset: Pressing this button will restore the settings
to factory default.
Appearance Settings
- Line/Edge Geometry
- Default Line/Edge Weight: Sets the default line/edge
weight.
- Background Color
- Top: Sets the background color for the upper portion
of the window. The background color can have a gradient from top to
bottom.
- Bottom: Sets the background color for the lower portion
of the window. If you prefer a single background color without any
gradient, set this color exactly same as the Top Background Color.
- Color Interpolation
- Color Interpolation: If checked, honors the color
settings at each vertex of the Shells in the scene and applies a color
ramp across the shell.
- By Value: Controls the color interpolation scheme
for Shells which have vertex level coloring. If checked, the color
at eachpixel in the face is determined by simply linearly interpolating
the RGB color set on the adjacent vertices.
- By Colormap: Controls the color interpolation
scheme for Shells which have vertex level coloring. If checked,
the color at each pixel by is determined by interpolating between
the indices in the colormap. This option is only valid if the
Shell vertex colors have been set by Index.
- Isolines: If checked, renders only the Isolines
for Shells in the scene which have colors set on their vertices.
- Markup
- Color: Sets the color of Markup lines.
- Weight: Sets the line weight (thickness) for the Markup.
- Shadow
- Color: Sets the color of the Shadow.
- Res: Sets the shadow resolution (values
between 32 and 256 are allowed)
- Blur: Sets the amount of shadow blurring
(values between 1 and 64 are allowed)
- Fonts
- Name: Sets the current font for the scene.
- Size: Sets the current font size in points.
- Scalable: If checked annotation will scale as the
camera position changes.
- Apply: Pressing this button will Apply the current settings
to the associated view.
- Reset: Pressing this button will restore the settings
to factory default.
File Settings
- HOOPS Stream File Export Options
- Compress Vertices: Compresses the vertices of entities
which reduces HSF file size, but can sometimes result in visual artifacts.
- Bits per Vertex: Number of bits to be used for storing
each vertex. This can be any integer between 8 & 72. This is applicable
only if Compress Vertices is chosen.
- Compress Normals: Compresses the normals of
entities which reduces HSF file size, but can sometimes result in
visual artifacts.
- Bits per Normal: Number of bits to be used for storing
each normal. This can be any integer between 8 & 72. This is applicable
only if Compress Normals is chosen.
- HSF Version: The export version number for HSF files.
- Include File Dictionary: Export the file dictionary
information. File Dictionary provides random entity access capability,
but usually results in marginal increase in the size.
- Use Advanced Compression: Export the HSF file using
the advanced edge-breaker connectivity compression. For more details
on this type of compression, please refer to the HOOPS/Stream documentation.
- Include Line/Edge Data: Exports non-surface data
to the HSF file, such as lines, arcs, text, circles, etc...
It is useful to export this data if either:
- A. the data originated as an XT file and accurate wireframe
or hidden-line renderings are desired
- B. much of the interesting geometry in the file is 'line
data'; this would of course be the case if the model was an AEC-type
model such as a 2D floorplan.
- Include Topology Information: If selected, HSFs
will contain the associativity information between the graphical entities
and their assembly structure. This can then be used to navigate the
topological structure of the model without the need for the modeling
kernel or the XT file. Since this information is stored within the
file it does increase the file size, which may be undesirable if you
are streaming the files across bandwidth constrained networks.
- Parasolid XT File Settings
- Parasolid Schema File Path Data: This sets the location
of the necessary Parasolid schema files so that the viewer may load
files from different versions of Parasolid. Note that having this
setting is essential for visualizing Parasolid files.
- Transmit Version Number: The export version number
for Parasolid files.
- Location of Part files: The directory location of
the Parasolid part files.
- Explode Instances: This tells the viewer to convert
instances to unique objects. This will result in larger HSF file sizes
when the XT file contains instanced objects. This is the default
setting since most tested XT files did not utilize instancing.
- Read/Write Platform Independent Binary XT Files: Set
whether the XT files are to be read in and saved as binary or ASCII
text files. The default is ASCII text.
- Reset: Pressing this button will restore the settings
to factory default.
Interaction
- Walk Options
- Use Keyboard: Checking this enables keyboard controls
for movement. Keyboard controls are as follows:
- W: Forward
- A: Strafe Left
- S: Back
- D: Strafe Right
- Q: Up
- Z: Down
- Collision Detection: This enables collision detection
between the camera and geometry in the scene.
- Snap to Floor: If checked, the walk operator will
prevent the camera from floating too high over a surface, and snap
to the floor when possible.
- Avatar Height: This controls the height of the camera
when the camera is snapped to the floor.
- Automatic: Allows HOOPS to automatically set the
avatar height to be a fraction of the scene extents.
- Step Height Up: This set the height at which the avatar
will automatically walk up stairs and over small obstacles.
- Step Height Down: This sets the maximum height that
the avatar can drop. Thus, if the drop is too large, the avatar will
not be able to walk over an edge.
- Animation
- Show Every Tick: If checked displays every tick of
the animation regardless of the time per frame.
- Update Camera: If not checked camera movement which
is part of the animation will be surpressed
- Jump To Keyframe: If checked the +/- button
of the animation toolbar will move the animation to the next keyframe
instead of the next tick
- Disable Constant Framerate: If checked the Constant
Framerate Logic will be disabled while an animation is running.
- Timer Based Update: If checked updates are happening
on regular intervals which allows animations to interact smoothly
with other user input. Turning this off can help in code debugging.
- Show Collisions: If checked will enable visualization
of collision detection in animations.
- Camera
- Front View Axis: Sets what the partviewer will consider
the "front view" for use with the "standard views" buttons.
- Top View Axis: Sets what the partviewer will consider
the "top view" for use with the "standard views" buttons.
Selection
- Appearance
- Polygons: Sets the selection color for polygons (faces).
- Lines: Sets the selection color for lines (edges).
- Markers: Sets the selection color for markers (vertices).
- Transparency: Sets the transparency level (%) for
the selected entities.
- Gray Scale Selection: If checked, sets the scene to
grayscale when performing a selection.
- Behavior
- Visibility based selection: If checked all selection
operations take visibility of objects into account (versus the standard
analytical selection mode of HOOPS)
- Dynamic Highlighting: If checked, will automatically
highlight geometry on a mouseover (and subsequently unhighlight when
the mouse leaves.
- Honor Line/Edge weight/patterns: If checked, HOOPS
will honor the weights and patterns of lines and patterns.
Tessellation Settings
- Linear Tolerances:
- Set Curve Chord Tolerance: If checked, linear curve
chord tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Set Surface Plane Tolerance: If checked, linear surface
plane tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Set Facet Plane Tolerance: If checked, linear face
plane tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Angular Tolerances:
- Set Curve Chord Tolerance: If checked, angular curve
chord tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Set Surface Plane Tolerance: If checked, angular surface
plane tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Set Facet Plane Tolerance: If checked, angular face
plane tolerance option will be set. Enter the value to be used in
the adjacent edit field. For more details on this setting, please
refer to Parasolid documentation.
- Reset: Pressing this button will restore the settings
to factory default.
2.4 Saving Files
The Part Viewer allows you to save models as:
- XT : Save file as a Parasolid XT File. You can choose between
the binary or text forms, as well as select the transmit version of the
file is via the 'File Settings' button under the File menu.
- PSF : Saving the model as an PSF file will cause the original
XT file data, the faceted information, and the associatively between the
two to be stored within a single file. Since re-facetting will not need
to occur when you load these files, load times will be significantly reduced.
- HSF: Saving Files as HOOPS Stream Files
will create a compressed file containing the faceted data in the scene.
If 'Write Topology Information' was enabled in the 'File Settings' dialog,
then additional user data which specifies the topological structure of
the original CAD model will be exported to the HSF file as well. Since
this file format contains a compressed, tessellated 3D representation
of the XT file, load times are significantly faster than that of a standard
XT file. File sizes are also substantially smaller typically in the range
of 10% - 20% the size of the original model. To ensure that Levels of
Details (LODs) of objects in the scene are included in the HSF you must
instruct the PartViewer to generate LODs for the scene. This is automatically
done by turning on Level of Details when you set a constant framerate
via the Frame Rate Options dialog in
the view menu.
- HTML: Choosing the "Save as HTML" option creates an HTML page
with the selected HSF embedded. These HTML pages can then be posted to
a web site as live 3D data. The HTML page also has an embedded HOOPS 3D
Stream Control which will stream the HSF from either a local disk or a
web site. The embedded object will, behind the scenes, download and install
the HOOPS 3D Control if it is not already installed on the machine reading
the web page. This means that developers simply need to put the HTML and
HSF file on their Web site and any user of MSIE can view the model over
the web by simply pointing their browser to the page's URL.
- EMF (Windows Encapsulated Metafiles) : These files can then be
imported into any standard Windows application. The output is vector data
when in either wireframe or hidden line mode. EMF output is used when
you 'Copy to Clipboard'.
- TIFF: These image files can be used to bring any of the data
into any of the standard image editing software packages.
2.5 Creating HTML Pages
HTML pages are created simply by saving the file as a HTML page. When you
save a file as an HTML page two files will be created; an HTML file which
references a newly created HSF file with the exact same filename. (So, SaveAs->
'foo.html' would create two files: foo.html and foo.hsf.) To
publish your model to the web simply copy both these files to your web site.
The HTML page uses the HOOPS 3D Stream Control which, if not already installed
the user's system, will be automatically downloaded and installed when the
HTML page is viewed. By default, the PartViewer does not include Levels
of Detail (LODs) in the HSF. Since LODs are ordered in the front of the
file and are much smaller than the original objects they represent it is
very beneficial to have LODs in the HSF to facilitate streaming. LODs
may be generated through the Frame Rate Options
in the View pulldown menu.
2.6 Copying to Clipboard
As is standard with Windows Applications, Ctrl-C will copy the contents
of the screen to the clipboard (in the form of an EMF). You can then easily
import the metafile into any of the usual windows applications such
as Microsoft Word, Excel, Power Point, etc.
2.7 Printing/Print Preview
The application supports standard Windows GDI Printing and Print Preview.
Although not currently in this version of the application, HOOPS/3dGS supports
HPGL, Postscript and CGM output. Developers wishing to extend this viewer
to contain such functionality may easily expose it by licensing the HOOPS
3D Application Framework.
2.8 Camera Manipulation
Each MFC window has a separate HOOPS camera that may be manipulated to
change the current view of the model. The camera operations implemented
are:
These are modal Operators on the View and are chosen by toggling the appropriate
menu button or by using the pull down menus on the frame. Once a camera
manipulation operator has been selected, the camera may be interactively
manipulated with the mouse. All operators respond to the following sequence:
left mouse button down, left mouse button down and moved (motion), left
mouse button up.
Starting with this release the functionality of the Orbit Operator has
been extended to allow for panning and zooming without switching operators.
Holding down the [SHIFT] key while dragging the mouse will initiate a camera
pan while holding down the [CTRL] key will zoom the camera. In addition
holding down the middle (or third) mouse button while over an object will
orbit the camera around the selected point.
At any time double clicking the middle mouse button will either zoom to
the object under the cursor or (if no object is under the cursor) will reset
the camera to the scene extents.
User can also set the Frame Rate options for the efficient viewing of large
models and assemblies. Frame Rate options may be set via the View pulldown
menu.
Smooth Transition
This feature can be toggled on/off via the Manipulate menu. When turned on, the camera smoothly transitions
(producing animation effects) when the user zooms to window, changes the view plane
or resets the camera.
2.9 Entity Selection
There are three primary ways of selecting entities in the Parasolid model:
- Select by Single Click
Select by Single Click is the default pick mode. Selections highlight
the Parasolid entity type that is nearest to the Windows mouse click.
- Select by Window
Select by Window selects and highlights all the specified Parasolid
entity types under the window defined. The window is defined by a sequence
of events using the left mouse button: down, down and motion, up.
- Selecting via the Topology Browser
Entities may also be selected via the topology browser. Clicking on
the entity in the browser will automatically highlighted the corresponding
graphical entity in the scene. Clicking the 'Zoom to Selection' checkbox
in the browser dialog will cause the camera to be automatically positioned
in front of the highlighted entity.
Selection lists containing multiple entities may be created by holding
down either the Shift or Ctrl key while using either of the Selection Operators
and can be used to build up selection lists for the topology browser.
The Part Viewer makes use of the MFC "right click" user interface to provide
a mechanism for controlling the visibility and selectability of entities
in the scene. Positioning the mouse in the view window and pressing the
right mouse button invokes a floating menu bar. The behavior of the selection
operators can be configured via this floating menu bar interface. The interface
may be used to determine which Parasolid Topological Entity type is selectable.
Selections can be made on the nearest Parasolid: Edge, Face, Body, Instance
of a Body or Assembly. The color of the selected geometry is changed
to white (or "highlighted").
To ensure optimal rendering performance, face selection is disabled by
default. Face selection can be enabled from this menu, however note that
this will cause the object to be re-tessellated which can take time depending
on the size of the model.
2.10 Querying the Model
The query operator allows users to query information about the Parasolid
part and is selected by toggling the appropriate menu bar button. Once selected,
the mouse may be used to interactively query Parasolid Models. The first
time the left mouse button is pressed while in the view and over a Parasolid
model an MFC dialog window is created and displays the following information:
- Analytical intersection of the selection ray with the Parasolid geometry
- Parasolid Tag ID for the PK_Body entity queried
- Number of PK_Edges and PK_Faces in the PK_Body queried
Moving the mouse around the scene with the left button depressed will cause
the information to be updated in real-time.
2.11 Measuring Distance
Users can query and measure the distance between two points in the scene.
When this operator is selected, a dialog similar to the Query dialog
will appear. In addition to displaying the standard query information the
distance between two points will be displayed. A left mouse button click
will select the beginning point of the measurement. Measurement is shown
by holding the left button down and dragging to the desired end point of
the measurement. A line will be shown between the two points.
2.12 Setting Visibility of Lights
The application makes use of the MFC "right click" user interface to provide
a mechanism for controlling the visibility and selectability of the entities
in the scene. Positioning the mouse in the view window and pressing the
right mouse button invokes a floating menu bar. Lights may be toggled off
or on in the Visibility. Turning Lights off will cause the model to appear
"flat" or non-shaded.
2.13 Setting Visibility of Parasolid Entities
Via the same right click floating menu bar, the user can turn the visibility
of Parasolid Edges or Faces off or on.
2.14 Setting Selectability of Parasolid
Entities
The Selectability of Parasolid entities are also be controlled via the
right click button. By moving to "Selection Level" you can enable
or disable the selection of Parasolid Edges, Faces or Bodies. Note that
selection of faces is turned off by default for rendering optimization.
If Face level selection is enabled, the model will be need to be re-tessellated.
To highlight a face in the scene without requiring a re-tessellation, simply
click the "Show Face Outlines" button.
2.15 Changing the Render Mode
Render Modes for the scene are also controlled via the right click mouse
button. There are 4 different rendering modes provided for viewing
models.
- Wireframe
- Triangulated (allows you to see the facetting of the model)
- Gouraud (Smooth) Shaded
- Precise Hidden Line
Upon startup, the default rendering mode is Smooth Shaded. Please note
that the Precise Hidden Line algorithm is computationally intensive and
for large models may take several seconds. Visibility of the hidden
lines is controlled by the right click Visibility menu.
2.16 Changing the Viewing Projection
By default, the scene is rendered with a Perspective viewing projection,
you can change this to an Orthographic viewing projection via the View menu.
2.17 Topology Browser
Selecting the Topology Browser from the Query Menu allows you to browse
the topological structure of the model. As you select on entities in the
dialog they are highlighted in the visualization window and any user-defined
attributes are displayed in the Topology browser's text box. To ensure optimal
rendering performance, face selection is disabled by default. Turning on
face selection can be enabled from this menu, however this will cause the
object to be re-tessellated which can take time depending on the size of
the model.
2.18 Frame Rate Options
From the "View" pulldown menu, users may define a desired framerate to
be maintained during rendering. When setting this option you can ask the
application to 'Use Levels of Detail' in order to maintain the requested
framerate. This causes HOOPS to generate simplification levels for
each body. The default values may be used, or the user may control the number
of levels which are generated and the percentage fall-off between levels.
The 'LOD Settings' tab provides control over the LOD generation process.
'Detail Levels' allows the user to control how many Levels of Detail should
be generated. The Falloff Value represents what percentage of vertices the
new LOD should contain as compared to the next highest level. For example,
a falloff value of 0.30 would mean that the Level 1 LOD would have 30% of
the vertices of the original object. If desired you can see the individual
LOD levels directly via the 'LOD Level' item in the 'View' menu pulldown.
If the system can't maintain the user specified frame rate HOOPS will drop
through the different simplification levels in order to keep up with the
desired frame rate. Generating levels of detail has an associated one time
pre-process cost which can be significant depending on the size of the model.
Turning on the Threshold LOD type will cause the application to utilize
further HOOPS/3dGS logic to determine the LOD level on each body separately,
depending on its triangle count per square window space unit.
You can also tell the viewer to simplify to allow one of the LODs to be
simply the bounding box of the object. Depending on the model these may
or may not be desirable.
2.19 Axis Triad
Beyond indicating the current orientation of the camera the axis triad
can be used to access the Orbit/Pan/Zoom functionality (as described in
2.6) by clicking and dragging the mouse pointer in the axis window. Also
clicking at any of the arcs indicating a particular view plane the camera
will automatically realign the view to that plane.
The Material Editor makes it easy to create a library of Material "Styles"
based on colors, textures and visibility settings and apply them to geometry
in the scene.
The left side of the dialog contains the style preview window as well as
a horizontal list of styles which allows the user to select among the various
styles and apply them to the current selection. There are also options for
creating a new style, deleting, renaming or cloning the current style. A
set of styles can be saved out to an hsf file or loaded back into the current
model.
The right side of the dialog contains the texture, color and visibility
settings for the selected style and allows the user to manipulate the texture
parameters (which are global to all styles). In the "Texture Settings"
window a new image can be loaded which will automatically be associated
to a texture. Various texture parameters are exposed and can be changed
(please refer to the HOOPS 3DGS Reference Manual for more information on
textures in HOOPS). Additionally individual images or textures can be deleted
and existing textures can be cloned.
The "Style Settings" on the right side expose the various color
components of a particular style grouped by entity type. Textures can be
applied to the various face color components and the visibility for the
entity types can be changed. All those changes are imediatly reflected in
the preview window as well as all geometry to which the selected style has
been applied.
Other formats are not guaranteed.
If you have InterOp installed,
you can run a version of the HOOPS/InterOp Parasolid Part Viewer which can
be built using the parasolidpartviewer_interop_vc<MS Visual Studio Version>.vcproj
project found in <hoops>/demo/mfc/parasolidpartviewer directory.
The Parasolid/InterOp Part Viewer has all of the same capabilities as the
Parasolid Part Viewer with the addition of several other features. It can
read and write the CAD file formats supported by InterOp.
While in the Part Viewer, users can launch the InterOp Part Browser from
Tools menu. This browser shows the Part Info Window and the Browser Window.
In the Part Info Window, users can see the BREP content of the document
including number of bodies, edges, faces and other metrics. Users can also
examine the E-BOM XML description of the assembly in the Browser Window.
This includes an entry for each part of the model with a link to the log
file that was generated during translation.
Figure 4a: The Parasolid/InterOp Part Viewer with the
InterOp Part Browser opened.