NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IDomain_specific_subdivision_topology Class Referenceabstract

Domain specific subdivision with topology information. More...

#include <iaffinity_information.h>

Inherits mi::base::Interface_declare< 0x25d72982, ... >.

Public Types

enum  Topology_type {
  TOPO_KD_TREE ,
  TOPO_OCTREE
}
 Subdivision schemes can rely on different topologies. More...
 

Public Member Functions

virtual mi::Uint32 get_topology_type () const =0
 Get type of topology,. More...
 
virtual mi::Uint32 get_nb_nodes () const =0
 Get the total number of nodes of the topology. More...
 
virtual mi::math::Bbox_struct< mi::Float32, 3 > get_node_box (mi::Uint32 inode) const =0
 Get the bounding box of the node inode. More...
 
virtual mi::Uint32 get_node_child_count (mi::Uint32 inode) const =0
 Get the number of children of node inode. More...
 
virtual mi::Sint32 get_node_child (mi::Uint32 inode, mi::Uint32 ichild) const =0
 Get a child index of the node inode. More...
 
virtual mi::Sint32 get_node_subregion_index (mi::Uint32 inode) const =0
 Get index of subregion associated with node inode (or -1, if no subregion). More...
 

Detailed Description

Domain specific subdivision with topology information.

This interface extends IDomain_specific_subdivision by providing topology information for efficient subregion sorting.

Member Enumeration Documentation

 Topology_type

Subdivision schemes can rely on different topologies.

Enumerator
TOPO_KD_TREE 

! Kd-tree based topology.

TOPO_OCTREE 

! Octree-based topology.

Member Function Documentation

 get_nb_nodes()

virtual mi::Uint32 nv::index::IDomain_specific_subdivision_topology::get_nb_nodes ( ) const
pure virtual

Get the total number of nodes of the topology.

It is assumed that the first node is the root node.

 get_node_box()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IDomain_specific_subdivision_topology::get_node_box ( mi::Uint32  inode) const
pure virtual

Get the bounding box of the node inode.

Parameters
inodeThe node's index value.
Returns
Returns the bounding box of the node.

 get_node_child()

virtual mi::Sint32 nv::index::IDomain_specific_subdivision_topology::get_node_child ( mi::Uint32  inode,
mi::Uint32  ichild 
) const
pure virtual

Get a child index of the node inode.

Return -1 if no child at given ichild slot.

Parameters
inodeIndex of node.
ichildIndex of child slot.

 get_node_child_count()

virtual mi::Uint32 nv::index::IDomain_specific_subdivision_topology::get_node_child_count ( mi::Uint32  inode) const
pure virtual

Get the number of children of node inode.

Note that this expresses the number of available child slots, but not the number of valid children. This means for a Kd-tree, you can always return 2, and for an Octree 8.

Parameters
inodeThe node's index value.

 get_node_subregion_index()

virtual mi::Sint32 nv::index::IDomain_specific_subdivision_topology::get_node_subregion_index ( mi::Uint32  inode) const
pure virtual

Get index of subregion associated with node inode (or -1, if no subregion).

The subregions are provided by the IDomain_specific_subdivision interface.

Parameters
inodeIndex of node.

 get_topology_type()

virtual mi::Uint32 nv::index::IDomain_specific_subdivision_topology::get_topology_type ( ) const
pure virtual

Get type of topology,.

See also
Topology_type. If not supported, topology will be ignored.

The documentation for this class was generated from the following file: