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

The abstract interface class representing a heightfield scene element. More...

#include <iregular_heightfield.h>

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

Public Member Functions

virtual void set_name (const char *name)=0
 Sets the user-defined name of the scene element. More...
 
virtual const char * get_name () const =0
 Returns the user-defined name of the scene element. More...
 
virtual mi::math::Matrix_struct< mi::Float32, 4, 4 > get_transform () const =0
 Returns the transformation matrix of the scene element. More...
 
virtual mi::neuraylib::Tag_struct get_import_strategy () const =0
 Returns the tag of the import strategy that is used for loading the dataset. More...
 
Bounding box and region of interest
virtual void set_IJK_bounding_box (const mi::math::Bbox_struct< mi::Float32, 3 > &bbox)=0
 Sets the IJK (local) bounding box of the entire (unclipped) heightfield. More...
 
virtual mi::math::Bbox_struct< mi::Float32, 3 > get_IJK_bounding_box () const =0
 Returns the IJK (local) bounding box of the entire (unclipped) heightfield. More...
 
virtual void set_IJK_region_of_interest (const mi::math::Bbox_struct< mi::Float32, 3 > &ijk_roi_bbox)=0
 Sets the region of interest of the heightfield in IJK (local) coordinates. More...
 
virtual mi::math::Bbox_struct< mi::Float32, 3 > get_IJK_region_of_interest () const =0
 Returns the region of interest of the heightfield in IJK (local) coordinates. More...
 
virtual mi::math::Bbox_struct< mi::Float32, 3 > get_XYZ_clipped_bounding_box () const =0
 Returns the XYZ (global) bounding box clipped against the region of interest. More...
 
Colormap settings
virtual void set_colormap_mapping (bool enable)=0
 Sets volume color mapping mode for the heightfield. More...
 
virtual bool get_colormap_mapping () const =0
 Returns the volume color mapping mode for the heightfield. More...
 
virtual void assign_colormap (mi::neuraylib::Tag_struct tag)=0
 Sets the colormap for the heightfield volume color mapping. More...
 
virtual mi::neuraylib::Tag_struct assigned_colormap () const =0
 Returns the colormap for the heightfield volume color mapping. More...
 
Extra heightfield geometry
virtual void add_seed_points (mi::math::Vector_struct< mi::Float32, 3 > *points, mi::Uint32 nb_points)=0
 Sets coordinates of point geometry to be rendered together with this heightfield as seed points. More...
 
virtual mi::Uint32 get_nb_seed_points () const =0
 Returns the number of seed points currently stored. More...
 
virtual void get_seed_point (mi::Uint32 index, mi::math::Vector_struct< mi::Float32, 3 > &seed_point) const =0
 Returns the seed point with the given index. More...
 
virtual void remove_seed_point (mi::Uint32 index)=0
 Removes the seed point with the given index. More...
 
virtual void add_isolated_pick (const mi::math::Vector_struct< mi::Float32, 2 > &ij_coordinate, mi::Float32 elevation)=0
 Adds a isolated pick to the set of seed points. More...
 
virtual void add_seed_line (mi::math::Vector_struct< mi::Float32, 3 > *vertices, mi::Uint32 nb_vertices)=0
 Sets line geometry to be rendered together with this heightfield as seed lines. More...
 
virtual mi::Uint32 get_nb_seed_lines () const =0
 Returns the number of seed lines currently stored. More...
 
virtual mi::math::Vector_struct< mi::Float32, 3 > * get_seed_line (mi::Uint32 index, mi::Uint32 &nb_vertices) const =0
 Each seed line is an array of vertices. More...
 
virtual void remove_seed_line (mi::Uint32 index)=0
 Removes the seed line with the given index. More...
 

Detailed Description

The abstract interface class representing a heightfield scene element.

A heightfield is a scene element as part of the scene description, i.e., in IScene. These heightfield scene elements are an abstract representation of the 'physical' heightfield data uploaded to the cluster. They contain general information about the heightfield, but do not store the patch data, which is handled by IRegular_heightfield_patch_data.

Each heightfield scene element has a region of interest which defines the part of the heightfield which should be used for rendering. It is defined as a bounding box in local 3D space by calling set_IJK_region_of_interest(). When no region of interest is set, the entire heightfield will be considered. The region of interest is used by get_XYZ_clipped_bounding_box() to clip the scene element bounding box before transforming it from local space to global space. In contrast, get_XYZ_bounding_box() returns the unclipped scene element bounding box.

The rendering of a heightfield can be controlled using an IMaterial attribute in the scene description. Arbitrary textures can be mapped onto the heightfield by applying IDistributed_compute_technique.

Member Function Documentation

 add_isolated_pick()

virtual void nv::index::IRegular_heightfield::add_isolated_pick ( const mi::math::Vector_struct< mi::Float32, 2 > &  ij_coordinate,
mi::Float32  elevation 
)
pure virtual

Adds a isolated pick to the set of seed points.

Calling this method is equivalent to add_seed_points() with a single XYZ coordinate as parameter.

Parameters
[in]ij_coordinateIJ coordinates of the point
[in]elevationelevation (= K) coordinate of the point

 add_seed_line()

virtual void nv::index::IRegular_heightfield::add_seed_line ( mi::math::Vector_struct< mi::Float32, 3 > *  vertices,
mi::Uint32  nb_vertices 
)
pure virtual

Sets line geometry to be rendered together with this heightfield as seed lines.

Each line is defined by two vertices, a start point and an end point. An internal copy of the vertex data is created and the caller is responsible for freeing the passed array.

Note
The lines will be rendered using the color returned by get_color(), any material attributes are ignored.
Parameters
[in]verticesArray of vertices (in XYZ space).
[in]nb_verticesNumber of vertices in the array.

 add_seed_points()

virtual void nv::index::IRegular_heightfield::add_seed_points ( mi::math::Vector_struct< mi::Float32, 3 > *  points,
mi::Uint32  nb_points 
)
pure virtual

Sets coordinates of point geometry to be rendered together with this heightfield as seed points.

An internal copy of the point data is created and the caller is responsible for freeing the passed array.

Note
The points will be rendered using the color returned by get_color(), any material attributes are ignored.
Parameters
[in]pointsArray of vertices (in XYZ space)
[in]nb_pointsNumber of vertices in the array

 assign_colormap()

virtual void nv::index::IRegular_heightfield::assign_colormap ( mi::neuraylib::Tag_struct  tag)
pure virtual

Sets the colormap for the heightfield volume color mapping.

Deprecated:
Will be replaced by scene description attributes.
Parameters
[in]tagTag of the colormap.

 assigned_colormap()

virtual mi::neuraylib::Tag_struct nv::index::IRegular_heightfield::assigned_colormap ( ) const
pure virtual

Returns the colormap for the heightfield volume color mapping.

Deprecated:
Will be replaced by scene description attributes.
Returns
Tag of the colormap.

 get_colormap_mapping()

virtual bool nv::index::IRegular_heightfield::get_colormap_mapping ( ) const
pure virtual

Returns the volume color mapping mode for the heightfield.

Deprecated:
Will be replaced by scene description attributes.
Returns
volume color mapping mode

 get_IJK_bounding_box()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IRegular_heightfield::get_IJK_bounding_box ( ) const
pure virtual

Returns the IJK (local) bounding box of the entire (unclipped) heightfield.

Returns
IJK bounding box

 get_IJK_region_of_interest()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IRegular_heightfield::get_IJK_region_of_interest ( ) const
pure virtual

Returns the region of interest of the heightfield in IJK (local) coordinates.

Returns
IJK region of interest as a bounding box

 get_import_strategy()

virtual mi::neuraylib::Tag_struct nv::index::IRegular_heightfield::get_import_strategy ( ) const
pure virtual

Returns the tag of the import strategy that is used for loading the dataset.

 get_name()

virtual const char * nv::index::IRegular_heightfield::get_name ( ) const
pure virtual

Returns the user-defined name of the scene element.

Returns
User-defined name. An empty string, if no name has been set.

 get_nb_seed_lines()

virtual mi::Uint32 nv::index::IRegular_heightfield::get_nb_seed_lines ( ) const
pure virtual

Returns the number of seed lines currently stored.

Returns
Returns the number of seed lines.

 get_nb_seed_points()

virtual mi::Uint32 nv::index::IRegular_heightfield::get_nb_seed_points ( ) const
pure virtual

Returns the number of seed points currently stored.

Returns
Returns the number of seed points.

 get_seed_line()

virtual mi::math::Vector_struct< mi::Float32, 3 > * nv::index::IRegular_heightfield::get_seed_line ( mi::Uint32  index,
mi::Uint32 &  nb_vertices 
) const
pure virtual

Each seed line is an array of vertices.

The method exposes the array of vertices of a seed line with the given index.

Parameters
[in]indexIndex of the seed point, must be in [0, get_nb_seed_lines()-1]
[out]nb_verticesThe number of vertices that define the seed line that corresponds to the index.
Returns
Returns an array of the vertices that define the given seed line.

 get_seed_point()

virtual void nv::index::IRegular_heightfield::get_seed_point ( mi::Uint32  index,
mi::math::Vector_struct< mi::Float32, 3 > &  seed_point 
) const
pure virtual

Returns the seed point with the given index.

Parameters
[in]indexIndex of the seed point, must be in [0, get_nb_seed_points()-1]
[out]seed_pointVertex of the specified seed point

 get_transform()

virtual mi::math::Matrix_struct< mi::Float32, 4, 4 > nv::index::IRegular_heightfield::get_transform ( ) const
pure virtual

Returns the transformation matrix of the scene element.

Returns
Transformation matrix from IJK (local) to XYZ (global) space

 get_XYZ_clipped_bounding_box()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IRegular_heightfield::get_XYZ_clipped_bounding_box ( ) const
pure virtual

Returns the XYZ (global) bounding box clipped against the region of interest.

It is calculated by first clipping and then transforming the IJK bounding box to XYZ according to the current transformation matrix of the scene element.

Returns
XYZ bounding box

 remove_seed_line()

virtual void nv::index::IRegular_heightfield::remove_seed_line ( mi::Uint32  index)
pure virtual

Removes the seed line with the given index.

Parameters
[in]indexIndex of the seed point, must be in [0, get_nb_seed_lines()-1]

 remove_seed_point()

virtual void nv::index::IRegular_heightfield::remove_seed_point ( mi::Uint32  index)
pure virtual

Removes the seed point with the given index.

Parameters
[in]indexIndex of the seed point, must be in [0, get_nb_seed_points()-1]

 set_colormap_mapping()

virtual void nv::index::IRegular_heightfield::set_colormap_mapping ( bool  enable)
pure virtual

Sets volume color mapping mode for the heightfield.

Deprecated:
Will be replaced by scene description attributes.
Parameters
[in]enabletrue when enable mapping.

 set_IJK_bounding_box()

virtual void nv::index::IRegular_heightfield::set_IJK_bounding_box ( const mi::math::Bbox_struct< mi::Float32, 3 > &  bbox)
pure virtual

Sets the IJK (local) bounding box of the entire (unclipped) heightfield.

Parameters
[in]bboxNew bounding box of the heightfield.

 set_IJK_region_of_interest()

virtual void nv::index::IRegular_heightfield::set_IJK_region_of_interest ( const mi::math::Bbox_struct< mi::Float32, 3 > &  ijk_roi_bbox)
pure virtual

Sets the region of interest of the heightfield in IJK (local) coordinates.

Parameters
[in]ijk_roi_bboxregion of interest as a bounding box

 set_name()

virtual void nv::index::IRegular_heightfield::set_name ( const char *  name)
pure virtual

Sets the user-defined name of the scene element.

This can be useful to distinguish several scene elements of the same type. However, setting a name is optional.

Parameters
[in]nameUser-defined name. This should not be 0.

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