#include <HImUtility.h>

Static Public Member Functions

static void draw_annotation_lines (HIC_Rendition const *nr, HIC_Polyline const *poly)
 
static void draw_dc_polyline_infront (HIC_Rendition const *rendition, int count, HIC_DC_Point const geo3[])
 
static void draw_device_independent_line_weights (HIC_Rendition const *rendition, int count, HIC_DC_Point const geo3[])
 
static void draw_gradiated_window_background (HIC_Rendition const *rendition, HIC_Int_Rectangle const *extent)
 
static void draw_segment_in_background (HIC_Rendition const *nr, HIC_DC_Point const points[], HIC_RGBA const colors[], HIC_Plane const planes[], HIC_Parameter const params[], HIC_Integer32 param_width, HIC_Parameter_Flags param_flags)
 
static void drawTextInfront (HIC_Rendition const *rendition, HIC_Text_Info const *text_info)
 
static void RegisterCallbacks ()
 
static void set_clip_rectangle (HIC_Rendition const *nr, HIC_Segment_Info const *si)
 
static void suppress_3d_geometry (HIC_Rendition const *rendition, HIC_Geometry const *geo3)
 
static void visible_hlr_polyline (HIC_Rendition const *rendition, int count, HIC_DC_Point const geo3[])
 

Detailed Description

HImUtility contains a number of widely used IM callbacks. Callbacks are attributes of a segment and can be set in one of two ways. The first is by calling the 3dGS function #HC_Set_Callback("callback_point = callbback_name") or the by using the MVO method HImSetCallback("callback_point", "callback_name"). If you are using MVO then it is recommended that you use the HImSetCallback approach. The callback name and callback point are both documented for each callback below.

Member Function Documentation

◆ draw_annotation_lines()

static void HImUtility::draw_annotation_lines ( HIC_Rendition const *  nr,
HIC_Polyline const *  poly 
)
static

This callback only draws the lines in a segment if the visibility of text is on. Developers use it to easily turn off the visibility of leaders of annotation data. The callback is called "HImUtility_draw_annotation_lines" and the callback point is "draw 3d polyline".

◆ draw_dc_polyline_infront()

static void HImUtility::draw_dc_polyline_infront ( HIC_Rendition const *  rendition,
int  count,
HIC_DC_Point const  geo3[] 
)
static

This callback draws the lines in the front 1% of the scene forcing the lines to appear on top of everything else in the scene. The callback is called "HImUtility_draw_dc_polyline_infront" and the callback point is "draw dc polyline".

◆ draw_device_independent_line_weights()

static void HImUtility::draw_device_independent_line_weights ( HIC_Rendition const *  rendition,
int  count,
HIC_DC_Point const  geo3[] 
)
static

This callback draws the lines and edges with device independent weights. This is particularily useful in cases where you are using line/edge weights greater than 1 and want WYSIWYG printing. The callback is called "HImUtility_device_independent_polyline_weight" and the callback point is "draw dc polyline".

◆ draw_gradiated_window_background()

static void HImUtility::draw_gradiated_window_background ( HIC_Rendition const *  rendition,
HIC_Int_Rectangle const *  extent 
)
static

This callback draws the window background in a gradiated fashion. It is no longer needed as this window coloring scheme is supported in 3dGS but is included for backward compatibility reasons. The callback is called "HImUtility_draw_gradiated_window_background" and the callback point is "draw window".

◆ draw_segment_in_background()

static void HImUtility::draw_segment_in_background ( HIC_Rendition const *  nr,
HIC_DC_Point const  points[],
HIC_RGBA const  colors[],
HIC_Plane const  planes[],
HIC_Parameter const  params[],
HIC_Integer32  param_width,
HIC_Parameter_Flags  param_flags 
)
static

This callback draws all the faces of the shells in the segment in the back 10% of the scene forcing them to appear behind everything else in the scene. The callback is called "HImUtility_draw_segment_in_background" and the callback point is "draw dc reshaded triangle".

◆ drawTextInfront()

static void HImUtility::drawTextInfront ( HIC_Rendition const *  rendition,
HIC_Text_Info const *  text_info 
)
static

This callback draws the text in the front 1% of the scene forcing the text to appear on top of everything else in the scene. The callback is called "HImUtility_draw_text_infront" and the callback point is "draw text".

◆ RegisterCallbacks()

static void HImUtility::RegisterCallbacks ( )
static

This method registers all the callbacks in this class with 3dGS and the MVO IM Manager

◆ set_clip_rectangle()

static void HImUtility::set_clip_rectangle ( HIC_Rendition const *  nr,
HIC_Segment_Info const *  si 
)
static

This callback sets a rectilinear clip region on the segment. When you set this callback, you must set the user options of "left=i, right=j, top=k, bottom=l" on the segment that you want the clip performed. I, j, k and l are floating point numbers which define the world space borders of the clip region.
The callback is called "HImUtility_set_clip_rectangle" and the callback point is "draw segment tree".

◆ suppress_3d_geometry()

static void HImUtility::suppress_3d_geometry ( HIC_Rendition const *  rendition,
HIC_Geometry const *  geo3 
)
static

This callback does not draw anything and consequently causes no geometry to be drawn for the segment it is set on. The callback is called "HImUtility_suppress_3d_geometry" and the callback point is "draw 3d geometry".

◆ visible_hlr_polyline()

static void HImUtility::visible_hlr_polyline ( HIC_Rendition const *  rendition,
int  count,
HIC_DC_Point const  geo3[] 
)
static

This callback was written to show users how to collect the output from a hidden line rendering of a scene.


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