User Tools

Site Tools


01_user_documentation:06_graph:06_extent:02_index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
01_user_documentation:06_graph:06_extent:02_index [2025/10/13 10:07] gaetan01_user_documentation:06_graph:06_extent:02_index [2025/10/13 10:18] (current) gaetan
Line 3: Line 3:
 An extent collects its nodes not by a single list, but by a number of (doubly linked) lists. Currently, 16 lists are used, but this can easily be changed. This feature is used to partition the extents. The 16 lists are called the extent indexes. An extent collects its nodes not by a single list, but by a number of (doubly linked) lists. Currently, 16 lists are used, but this can easily be changed. This feature is used to partition the extents. The 16 lists are called the extent indexes.
  
-Extents are used by the [[:01_user_documentation:07_rgg_xl:03_query_graph|query graph]] to access the nodes of the graph. In this process, nodes can be "hidden" to queries by being on a extent index non visible by the query scope. Non visible nodes are not visited and "ignored" by the queries, they are not visited at all (thus, efficient to speed up queries). For the RGG model graph, queries use only the seven first indexes by default. The default index usage is:+Extents are used by the [[:01_user_documentation:07_rgg_xl:03_query_graph|query graph]] to access the nodes of the graph. In this process, nodes can be "hidden" to queries by being on a extent index non visible by the query scope (see [[:01_user_documentation:07_rgg_xl:02_xl:03_query:08_extent_visibility|RGG's extent index visibility]]). Non visible nodes are not visited and "ignored" by the queries, they are not visited at all (thus, efficient to speed up queries). For the RGG model graph, queries use only the seven first indexes by default. The default index usage is:
   * 0 to 6: Default visibility - used by default in queries. Only these indexes are visible by default.   * 0 to 6: Default visibility - used by default in queries. Only these indexes are visible by default.
   * 7: Meta data index.    * 7: Meta data index. 
Line 11: Line 11:
 **Note:** the index visibility is not used for the display. Thus, nodes on a "non" visible index are still displayed in the 3d view. **Note:** the index visibility is not used for the display. Thus, nodes on a "non" visible index are still displayed in the 3d view.
  
- 
-===== Change index visibility ===== 
- 
-It is possible to change the default index visibility in a project with the method: ''setVisibleExtents(int )'' on the RGGGraph. 
- 
-Or specify the index visibility of a single query with ''@index; query''. 
  
 ===== Default usage ===== ===== Default usage =====
Line 29: Line 23:
  
 **Note**: before GroIMP version 2.1.5, all objects added through the GUI>objects>insert> ... where also added on the extent index 7. Thus, not queriable by default. E.g. If you inserted a Plane in the scene, it was not reachable by default queries. In GroIMP version 2.1.5 their extent index have been changed to 6.  **Note**: before GroIMP version 2.1.5, all objects added through the GUI>objects>insert> ... where also added on the extent index 7. Thus, not queriable by default. E.g. If you inserted a Plane in the scene, it was not reachable by default queries. In GroIMP version 2.1.5 their extent index have been changed to 6. 
- 
-===== Example ===== 
- 
-For instance, let's consider the following method in an empty project. Notice that we set the visible extent value to 1: 
- 
-<code java> 
-public void run(){ 
-de.grogra.rgg.model.Runtime.INSTANCE.currentGraph().setVisibleExtents(1); 
-println((*Node*)); 
-} 
-</code> 
- 
-The method output: 
-<code> 
-de.grogra.rgg.RGGRoot[id=99]@2e86af42 
-de.grogra.rgg.Axiom[id=100]@59f1c976 
-</code> 
- 
-Only the "normal" nodes are visible.  
- 
-Let's change the visible extent value to **255**. Now the method output: 
-<code> 
-de.grogra.graph.impl.Node[id=0]@5add4889 
-de.grogra.graph.impl.Node[id=1]@4f690d55 
-de.grogra.rgg.RGGRoot[id=103]@621de1a6 
-Model[id=101]@331e288e 
-parameters[id=102]@cd97a89 
-de.grogra.rgg.Axiom[id=104]@4cface1f 
-</code> 
- 
-Some additional nodes are now visible: 
-  * the roots (id 0 and 1). id 0 is the root of the main graph. id 1 is the root of the meta graph. 
-  * the nodes from the meta graph: the compiled version of the files: Model, and parameters. 
- 
-Notice that: 
-  * Once the setVisibleExtents is called. The value remains until a new value is set.  
-  * setVisibleExtents use as parameter the decimal value of a binary number of 8 values where each 1 mean that the index is visible, the 0 to 7 index visibility are defined from left to right. E.g. to have all indexes visible, we use 11111111 (eight 1), which is equal in decimal to 255. To have all indexes visible except for the 1rst one, we use 11111110 (=254). The default value is 01111111 (=127). 
  
01_user_documentation/06_graph/06_extent/02_index.1760342821.txt.gz · Last modified: 2025/10/13 10:07 by gaetan