View Issue Details

IDProjectCategoryView StatusLast Update
0020053Open CASCADEOCCT:Visualizationpublic2018-05-07 12:50
Reporteragv Assigned Toagv  
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.3.0 
Summary0020053: Introduction of NIS vizualization library
DescriptionThe new library 'NIS' is created, providing the API similar to the traditional
AIS but with the main differences/improvements:

1. For every type of InteractiveObject there should be provided a corresponding
Drawer class that defines the presentation of the Object type using direct
OpenGl calls. This is a much faster way to display 3D objects, allowing to have
more than 1 million separate selectable entities in one view.

2. The abstract type NIS_InteractiveObject does not support any properties
(color, material, other aspects). The relevant properties should be defined in
the specializations of Drawer class, and the API to set/modify should be
implemented in the specializations of InteractiveObject class.

3. Interactive selection is managed by InteractiveObject methods instead of
special selector classes and data types. This is possible since in NIS the
selection is based on 3D representation (by a ray or a box corresponding to the
view direction) without intermediate 2D projection.

4. Many InteractiveContext instances can be attached to a V3d_View, these
instances being independent containers of interactive objects; removal
(detaching) of InteractiveContext instance destroys the contained objects.

All data types and algorithms are designed to provide the best performance for
both OpenGl (server side) and application. On the other hand, the API is open to
any feature supported by any version of OpenGl. This allows to build custom
presentations quickly and efficiently.

The type NIS_View subclasses V3d_View thus providing all its public API like
scene definition (view orientation, lights, background, etc.) as well as the
standard view transformations (pan/zoom/rotate,fitAll,...). The traditional
AIS-based presentations (e.g., AIS_Shape) are also supported, they can be
rendered together with NIS presentations in the same view window.

The DRAW test plugin, TKViewerTest, is modified so that it manages now
AIS_InteractiveContext and NIS_InteractiveContext together in one view window.
TagsNo tags attached.
Test case number

Attached Files

  • occ20053.tar.gz (157,831 bytes)
  • OCC20053_add.tar.gz (32,204 bytes)
  • OCC20053-OCC20017-merge.tar.gz (270,848 bytes)

Relationships

related to 0020035 closedagv Addition of AVI recorder to TKOpenGl 
parent of 0029740 closedbugmaster Draw Harness - eliminate redundant casts to AIS_InteractiveObject 
related to 0025148 closedbugmaster Visualization - drop TKNIS toolkit 

Activities

2008-07-02 20:44

 

occ20053.tar.gz (157,831 bytes)

2008-07-04 17:46

 

OCC20053_add.tar.gz (32,204 bytes)

2008-07-04 18:39

 

OCC20053-OCC20017-merge.tar.gz (270,848 bytes)

Issue History

Date Modified Username Field Change
2008-07-02 22:43 agv OtherBugsDependingOnThis => 20035
2008-07-04 20:33 bugmaster Assigned To bugmaster => agv
2008-07-04 20:33 bugmaster Status new => assigned
2008-07-04 20:34 bugmaster Status assigned => tested
2008-08-26 17:11 bugmaster Status tested => verified
2009-06-23 18:57 bugmaster Status verified => closed
2009-06-23 18:57 bugmaster Resolution @0@ => fixed
2011-08-02 11:24 bugmaster Category OCCT:VIZ => OCCT:Visualization
2014-08-14 09:36 kgv Relationship added related to 0025148
2018-05-07 12:50 kgv Relationship added parent of 0029740